有VPS的朋友可以参照如下脚本做些备份工作
该脚本会自动删除旧的备份文件包,防止空间被撑爆
提前的准备
1. 备份暂存文件夹/home/wwwbackup
2. ftp工具,这里使用的是功能强大的lftp
3. 你得有个空间足够得FTP
#!/bin/bash #Function: Backup website and mysql database #Author: tony #Website: http://www.crazycen.com #Upadte:2014-12-28 ######~Set Directory you want to backup~###### BackupName=crazycen #填写备份任务名称 Backup_Dir=/home/wwwroot/crazycen.com #填写要备份的网站目录 ######~Set MySQL UserName and password~###### MYSQL_UserName=mysqluser #填写mysql用户名 MYSQL_PassWord=mysqlpassword #填写mysql密码 ######~Set MySQL Database you want to backup~###### Backup_Database_Name=database ######~Set FTP Information~###### FTP_HostName=8.8.8.8 #填写FTP地址 FTP_UserName=ftpusername #填写FTP用户名 FTP_PassWord=ftppassword #填写FTP密码 FTP_BackupDir=wwwbackup #填写FTP备份目标目录 #Values Setting END! TodayWWWBackup=www-*-$(date +"%Y%m%d").tar.gz TodayDBBackup=db-*-$(date +"%Y%m%d").sql OldWWWBackup=www-*-$(date -d -3day +"%Y%m%d").tar.gz OldDBBackup=db-*-$(date -d -3day +"%Y%m%d").sql tar zcf /home/wwwbackup/www-$BackupName-$(date +"%Y%m%d").tar.gz -C $Backup_Dir --exclude=soft /usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $Backup_Database_Name > /home/wwwbackup/db-$Backup_Database_Name-$(date +"%Y%m%d").sql rm -f /home/wwwbackup/$OldWWWBackup rm -f /home/wwwbackup/$OldDBBackup cd /home/wwwbackup/ lftp $FTP_HostName -u $FTP_UserName,$FTP_PassWord << EOF cd $FTP_BackupDir mrm $OldWWWBackup mrm $OldDBBackup mput $TodayWWWBackup mput $TodayDBBackup bye EOF
脚本写好,大家记得添加crontab
0 1 * * 0 /root/tools/backup.sh
手动运行
chmod +x /root/tools/backup.sh && ./root/tools/backup.sh
脚本下载地址:backup.sh
文章评论
很棒的脚本,回头试试