리눅스 - cron 이용한 로컬 백업 스크립트
페이지 정보
작성자 서방님 댓글 0건 조회 78회 작성일 12-01-09 16:51본문
리눅스 서버 2대에 사용중이다.
일주일간의 주요 파일과 /home 밑의 각 파일을 백업하고 7일지난후에 자동으로 삭제해주는
초간단. 쉘 스크립트.
cron에 백업하고 싶은 시간대에 넣어주는 센스만 발휘하자.
#!/bin/bash
export Today="`date '+%y-%m-%d'`"
########### Old BackupData Delete ####
dirlists=`/bin/ls -t /backup/home 2>/dev/null`
i=1
for dir in $dirlists ; do
if [ "$i" -ge 7 ] ; then
/bin/rm -rf /backup/home/$dir
fi
i=$(($i+1))
done
################ New Today Mkdir ####
/bin/mkdir -p /backup/home/$Today
d /backup/home/data/$Today
################ HomeData backup ####
tar cvfpz /backup/home/$Today/way.tar.gz /home/way
################ System Backup ####
tar cvfpz /backup/home/$Today/system_backup.tar.gz /usr/local/apache/conf/httpd.conf /usr/local/proftpd/etc/proftpd.conf /etc/passwd / etc/mail/access
############# Make Link####
rm -f /backup/linkhome
ln -s /backup/home/$Today /backup/linkhome
이상 쉘스크립트이고
cron에 어떻게 등록하는지 모르는 사람을 위해 한자 더적어보면
(cron 에 관한 자세한건 참고도서나 superuser.co.kr 에서 찾아보길.)
\crontab -e
아랫줄 추가
00 07 * * * su - root -c '/root/bin/nam_back.sh' >& /dev/null
하고 저장 후 테스트 해보기위해서는 root/bin/에 스크립트(명)을 실행해본다.
가장 간단한 테스트 방법이다. 그럼 결과는 /back/밑에 있을것.
---------------------------------------------------------
몇몇 분이 퍼가셨는데 위는 단순히 html 등의 서버상의 파일만 백업합니다.
간단하게 mysql 파일도 백업한것을 올려두었으니 참고하세요.
백업은 다른 물리적파티션(다른하드에)하는것이 가장좋다고들 하지만
여유가 없기에 일단은 같은 내부의 다른파티션에 백업하고 있습니다.
일주일간의 주요 파일과 /home 밑의 각 파일을 백업하고 7일지난후에 자동으로 삭제해주는
초간단. 쉘 스크립트.
cron에 백업하고 싶은 시간대에 넣어주는 센스만 발휘하자.
#!/bin/bash
export Today="`date '+%y-%m-%d'`"
########### Old BackupData Delete ####
dirlists=`/bin/ls -t /backup/home 2>/dev/null`
i=1
for dir in $dirlists ; do
if [ "$i" -ge 7 ] ; then
/bin/rm -rf /backup/home/$dir
fi
i=$(($i+1))
done
################ New Today Mkdir ####
/bin/mkdir -p /backup/home/$Today
d /backup/home/data/$Today
################ HomeData backup ####
tar cvfpz /backup/home/$Today/way.tar.gz /home/way
################ System Backup ####
tar cvfpz /backup/home/$Today/system_backup.tar.gz /usr/local/apache/conf/httpd.conf /usr/local/proftpd/etc/proftpd.conf /etc/passwd / etc/mail/access
############# Make Link####
rm -f /backup/linkhome
ln -s /backup/home/$Today /backup/linkhome
이상 쉘스크립트이고
cron에 어떻게 등록하는지 모르는 사람을 위해 한자 더적어보면
(cron 에 관한 자세한건 참고도서나 superuser.co.kr 에서 찾아보길.)
\crontab -e
아랫줄 추가
00 07 * * * su - root -c '/root/bin/nam_back.sh' >& /dev/null
하고 저장 후 테스트 해보기위해서는 root/bin/에 스크립트(명)을 실행해본다.
가장 간단한 테스트 방법이다. 그럼 결과는 /back/밑에 있을것.
---------------------------------------------------------
몇몇 분이 퍼가셨는데 위는 단순히 html 등의 서버상의 파일만 백업합니다.
간단하게 mysql 파일도 백업한것을 올려두었으니 참고하세요.
백업은 다른 물리적파티션(다른하드에)하는것이 가장좋다고들 하지만
여유가 없기에 일단은 같은 내부의 다른파티션에 백업하고 있습니다.
댓글목록
등록된 댓글이 없습니다.