Linux如果天天手工备份真是太麻烦了,今天抽空写了一份自动备份脚本具体步骤如下:
1.脚本文件
位置:/usr/systembak/backup.sh
内容:
PHP 代码:
#!/bin/sh
# File: /usr/systembak/backup.sh
# Database info
DB_USER="dumpuser"
DB_PASS="dumpuser"
# Others vars
BIN_DIR="/usr/bin"
BCK_DIR="/usr/systembak"
WEB_DIR="/var/www/html"
DATA_DIR="/var/lib/mysql"
DATE=`date +%F`
#FTP_SERV="211.144.155.111″
#FTP_USER="username"
#FTP_PASS="12345678″
#FTP_DIR=""
#ZIP
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS e23user | gzip > $BCK_DIR/e23user_dump_$DATE.gz
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS sdbbs | gzip > $BCK_DIR/sdbbs_dump_$DATE.gz
tar -czf $BCK_DIR/web_$DATE.tar.gz $WEB_DIR
tar -czf $BCK_DIR/e23user_$DATE.tar.gz $DATA_DIR/e23user
tar -czf $BCK_DIR/sdbbs_$DATE.tar.gz $WEB_DIR/sdbbs
#UPLOAD
#ftp -i -n $FTP_SERV <<FTP_END
#user $FTP_USER $FTP_PASS
#passive
#binary
#put $BCK_DIR/e23user_dump_$DATE.gz $FTP_DIR/e23user_dump_$DATE.gz
#put $BCK_DIR/sdbbs_dump_$DATE.gz $FTP_DIR/sdbbs_dump_$DATE.gz
#put $BCK_DIR/web_$DATE.tar.gz $FTP_DIR/web_$DATE.tar.gz
#put $BCK_DIR/e23user_$DATE.tar.gz $FTP_DIR/e23user_$DATE.tar.gz
#put $BCK_DIR/sdbbs_$DATE.tar.gz $FTP_DIR/sdbbs_$DATE.tar.gz
#FTP_END
说明:由于没有远程备份服务器,所以UPLOAD部分暂时注释掉了,有了备份服务器只有即可去掉注释。
2.设置定时执行
修改文件:/etc/crontab
在最后添加:05 5 * * 0 root /usr/systembak/backup.sh
意义是在每周日的凌晨5点5分执行备份脚本