강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

7. /home에 있는 각 계정들 개별 백업하는 쉘스크립트

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

7. /home에 있는 각 계정들 개별 백업하는 쉘스크립트

 

리눅스 서버에서 /home파일시스템을 백업할 때에는 아마도 /home 전체를 home.tar.gz하나로압축하여 백업하는 것이 일반적일 것입니다. 그러다 보니 개별사용자 1명에 대한 복구를 때에도 home.tar.gz파일 전체를 대상으로 압축해제와 압축하는 작업을 해야합니다. 이것이 너무 번거롭기 때문에 /home파일시스템에 존재하는 사용자들에 대하여 개별적으로 하나씩 압축보관하는 쉘스크립트를 간단히 만들어 보았습니다. 아래는 쉘프로그램 소스입니다.

 

[root@command test]# cat home_backup.sh

#!/bin/sh

 

home_root="/home/"

backup_home_root="/backup/"

 

cd $home_root

 

for home_name in $(ls)

do

if [ -d "$home_root/$home_name" ] ; then

echo "tar -cvzf $backup_home_root$home_name.tar.gz $home_name"

tar -czf "$backup_home_root$home_name.tar.gz" "$home_name"

fi

done

 

[root@command test]#


이렇게 만든 쉘프로그램(home.backup.sh)를 실행하였습니다.

[root@command test]# ./home_backup.sh

tar -cvzf /backup/bible.tar.gz bible

tar -cvzf /backup/command.tar.gz command

tar -cvzf /backup/sspark.tar.gz sspark

[root@command test]#

 

그 결과 아래와 같이 /home/bible, /home/command, /home/sspark 각각 개별적으로 압축되어 /backup디렉토리내에 bible.tar.gz, command.tar.gz, sspark.tar.gz로 백업되어있음을 알 수 있습니다.

[root@command test]# ls -l /backup

total 12

-rw-r--r--    1 root     root          416 Mar 28 15:30 bible.tar.gz

-rw-r--r--    1 root     root         1020 Mar 28 15:30 command.tar.gz

-rw-r--r--    1 root     root          637 Mar 28 15:30 sspark.tar.gz

[root@command test]#


실제 실무에 활용하시면 유용하게 사용할 수 있습니다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,157 명
  • 현재 강좌수 :  36,515 개
  • 현재 접속자 :  244 명