[转]Linux自动备份数据脚本
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分执行备份脚本
|