自动备份VPS数据的shell脚本(转)
使用说明,将其保存为backup.sh,并为其添加执行权限
1 | chmod +x /root/backup.sh |
其中ftp账户密码自己配置。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #!/bin/bash #为backup.sh添加执行权限chmod +x /root/backup.sh #添加脚本至crontab(自动启动程序)执行命令crontab -e,添加每天0点10分启动代码 #10 00 * * * /root/backup.sh #===========配置区开始============== BACKUP_DATA_TEMP="/home/backup" DB_USR="数据库用户名" DB_PWD="数据库密码" FTP_HOST="FTP主机名" FTP_USR="FTP用户名" FTP_PWD="FTP密码" ZIP_PWD="压缩包密码" #数据库文件位置 DB_PATH="/home/mysql_data" #网站数据文件位置 WEB_PATH="/home/ftp/1520" #其它要备份的文件夹 OTHER_PATH="/home/lum_safe_files" #按周清理,设为0则按天清理 ROUND_WEEK="1" #===========配置区结束============== FTP_FOLDER=$(date +"%Y-%m-%d") if [ ROUND_WEEK = 1 ];then OLD_FTP_FOLDER=$(date -d -3week +"%Y-%m-%d") else OLD_FTP_FOLDER=$(date -d -3day +"%Y-%m-%d") fi #在FTP空间里新建目录 ftp -v -n $FTP_HOST < $BACKUP_DATA_TEMP/$dbname.sql mysqlhotcopy $dbname -u $DB_USR -p $DB_PWD $BACKUP_DATA_TEMP | logger -t mysqlhotcopy #压缩数据库 zip -9 -q -r -P $ZIP_PWD $BACKUP_DATA_TEMP/$dbname.mysql.zip $BACKUP_DATA_TEMP/$dbname/ #删除sql文件 rm -rf $BACKUP_DATA_TEMP/$dbname/ #上传到FTP空间 ftp -v -n $FTP_HOST < |
» vps12.com:http://www.vps12.com
» 转载请注明来源:运维部落 » 《自动备份VPS数据的shell脚本(转)》