작은숲:위키노트/리눅스 백업 스크립트: 두 판 사이의 차이
잔글 (Utolee90님이 위키노트:리눅스 백업 스크립트 문서를 리눅스 백업 스크립트 문서로 이동했습니다: Move_Pages_by_removing_the_text_위키노트_via_pywikibot) |
잔글 (Utolee90님이 리눅스 백업 스크립트 문서를 넘겨주기를 만들지 않고 작은숲:위키노트/리눅스 백업 스크립트 문서로 이동했습니다: 위키노트 문서 작은숲으로 이동) |
||
| (같은 사용자의 중간 판 5개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
[[위키노트 | [[작은숲:위키노트/Apt-get 자동화 스크립트|Apt-get 자동화 스크립트]와 비슷하게 시스템 백업을 위해 만든 [[위키노트:셸 스크립트|셸 스크립트]]. <tt>cron</tt>에 등록해두고 매일 백업한다. | ||
<code>backup.sh</code> | <code>backup.sh</code> | ||
< | <syntaxhighlight lang="sh"> | ||
#!/bin/sh | #!/bin/sh | ||
#---------------------------------------------------------------------------- | #---------------------------------------------------------------------------- | ||
| 56번째 줄: | 56번째 줄: | ||
df -h | df -h | ||
exit 0 | exit 0 | ||
</ | </syntaxhighlight> | ||
<code>/etc/cron.d/backup</code> | <code>/etc/cron.d/backup</code> | ||
< | <syntaxhighlight lang="sh"> | ||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | ||
MAILTO=root | MAILTO=root | ||
5 5 * * * root test -x /root/bin/backup.sh && /root/bin/backup.sh | 5 5 * * * root test -x /root/bin/backup.sh && /root/bin/backup.sh | ||
# EOF | # EOF | ||
</ | </syntaxhighlight> | ||
{{리눅스}} | {{리눅스}} | ||
[[분류:공유]] | [[분류:위키노트/공유]] | ||
[[분류:서버]] | [[분류:위키노트/서버]] | ||
[[분류:리눅스]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | [[분류:리눅스]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | ||
2022년 5월 7일 (토) 19:20 기준 최신판
[[작은숲:위키노트/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 문서 | |
| 사용자 설정 | |
| 활용 | |
| 명령어 | |