작은숲:위키노트/리눅스 백업 스크립트: 두 판 사이의 차이
잔글 (Utolee90님이 위키노트:리눅스 백업 스크립트 문서를 리눅스 백업 스크립트 문서로 이동했습니다: Move_Pages_by_removing_the_text_위키노트_via_pywikibot) |
잔글 (문자열 찾아 바꾸기 - "분류:공유" 문자열을 "분류:위키노트/공유" 문자열로) |
||
| 65번째 줄: | 65번째 줄: | ||
</source> | </source> | ||
{{리눅스}} | {{리눅스}} | ||
[[분류:공유]] | [[분류:위키노트/공유]] | ||
[[분류:서버]] | [[분류:서버]] | ||
[[분류:리눅스]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | [[분류:리눅스]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | ||
2021년 3월 28일 (일) 12:36 판
[[위키노트:Apt-get 자동화 스크립트|Apt-get 자동화 스크립트]와 비슷하게 시스템 백업을 위해 만든 셸 스크립트. cron에 등록해두고 매일 백업한다.
backup.sh
#!/bin/sh
#----------------------------------------------------------------------------
# Copyright (c) 2005. Yoon, Hyunho <hhyoon@kldp.org>
# All rights reserved. Distributable under GPL.
# Please see http://www.gnu.org/copyleft/gpl.html
## Backup script
# $Id: BackupScript,v 1.1 2015/12/15 02:21:26 root Exp root $
#----------------------------------------------------------------------------
# configuration
DIR_BACKUP="/usr/backup"
STEP=3
#----------------------------------------------------------------------------
# backup $key $parent $src
backup()
{ echo "File Backup for $1 ..."
i=`expr $STEP - 1`
while [ $i -gt 0 ]
do
if [ -f "${DIR_BACKUP}/${1}.${i}.tar.gz" ]
then
next=`expr $i + 1`
mv -f "${DIR_BACKUP}/${1}.${i}.tar.gz" "${DIR_BACKUP}/${1}.${next}.tar.gz"
fi
i=`expr $i - 1`
done
if [ -f "${DIR_BACKUP}/${1}.tar.gz" ]
then
mv -f "${DIR_BACKUP}/${1}.tar.gz" "${DIR_BACKUP}/${1}.1.tar.gz"
fi
FILE="${DIR_BACKUP}/${1}.tar.gz"
cd $2
tar zcpf $FILE $3
chmod 600 $FILE
sleep 1
}#----------------------------------------------------------------------------
# remove old files
find $DIR_BACKUP -mtime +${STEP} -exec rm -rf {} \;
sleep 2
#----------------------------------------------------------------------------
# etc backup
KEY="etc"
backup $KEY "/" "etc"
# mysql backup
KEY="mysql"
backup $KEY "/var/lib" "mysql"
# user backup
KEY="hhyoon"
backup $KEY "/usr/user" "hhyoon"
#----------------------------------------------------------------------------
echo
echo "Backup compleate!"
echo
df -h
exit 0
/etc/cron.d/backup
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
5 5 * * * root test -x /root/bin/backup.sh && /root/bin/backup.sh
# EOF
| 배포판 | |
|---|---|
| 서버 프로그램 | |
| 시스템 도구 | |
| 시스템 보안 | |
| 시스템 설정 | |
| HOWTO 문서 | |
| 사용자 설정 | |
| 활용 | |
| 명령어 | |