WWW と MySQL ファイルの自動バックアップ
2005年8月23日
crontab を用いて、www と MySQL ファイルを毎日自動でバックアップするように設定した。この設定で、毎朝6時1分に、/var/www フォルダと /var/lib/mysql フォルダが自動的にバックアップされる。もし前回のようにサーバ、もしくはNucleusに不具合が発生した場合に日ごとの変化を追いながら対処できる。
# vi backup.sh
(次の内容を入力)
#!/bin/sh
#/root/backup.sh
#chmod 700
#Create backup directory if not exist
if [ ! -d /home/katsumi/backup ]; then
mkdir /home/katsumi/backup
chown katsumi /home/katsumi/backup
fi
#Create "year-month" directory if not exist.
myDir=/home/katsumi/backup/`date --iso-8601|cut --characters=1-7`
if [ ! -d $myDir ]; then
mkdir $myDir
chown katsumi $myDir
fi
#Set file names
wwwFile=$myDir/`date --iso-8601`-www.tar.gz
sqlFile=$myDir/`date --iso-8601`-sql.tar.gz
katFile=$myDir/`date --iso-8601`-kat.tar.gz
rootFile=$myDir/`date --iso-8601`-root.tar.gz
#Make tar.gz files
cd /var/
tar czvf $wwwFile www/
cd /var/lib/
tar czvf $sqlFile mysql/
chown katsumi $wwwFile $sqlFile
#Make -kat.tar.gz, -root.tar.gz files on Sunday
if [ `date +%w` == 0 ]; then
cd /home/katsumi/
tar czvf $katFile public_html/
tar czvf $rootFile /root/
chown katsumi $katFile $rootFile
fi
(ここまで)
# vi /etc/crontab
(次の行を追加)
#backup www and mysql daily
1 6 * * * root /root/backup.sh
# vi backup.sh
(次の内容を入力)
#!/bin/sh
#/root/backup.sh
#chmod 700
#Create backup directory if not exist
if [ ! -d /home/katsumi/backup ]; then
mkdir /home/katsumi/backup
chown katsumi /home/katsumi/backup
fi
#Create "year-month" directory if not exist.
myDir=/home/katsumi/backup/`date --iso-8601|cut --characters=1-7`
if [ ! -d $myDir ]; then
mkdir $myDir
chown katsumi $myDir
fi
#Set file names
wwwFile=$myDir/`date --iso-8601`-www.tar.gz
sqlFile=$myDir/`date --iso-8601`-sql.tar.gz
katFile=$myDir/`date --iso-8601`-kat.tar.gz
rootFile=$myDir/`date --iso-8601`-root.tar.gz
#Make tar.gz files
cd /var/
tar czvf $wwwFile www/
cd /var/lib/
tar czvf $sqlFile mysql/
chown katsumi $wwwFile $sqlFile
#Make -kat.tar.gz, -root.tar.gz files on Sunday
if [ `date +%w` == 0 ]; then
cd /home/katsumi/
tar czvf $katFile public_html/
tar czvf $rootFile /root/
chown katsumi $katFile $rootFile
fi
(ここまで)
# vi /etc/crontab
(次の行を追加)
#backup www and mysql daily
1 6 * * * root /root/backup.sh