准备工作:
需要提前在服务器上安装好lftp,lftp功能上比较强大。
CentOS直接执行:
yum install lftp
Debian执行:
apt-get install lftp
需要在服务器上创建/home/backup/ 目录,在FTP上创建backup目录。
下面将备份脚本进行部分注释说明:
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 44 45 46 47 48 49 50 51
|
Backup\_Dir1=vpser.net Backup\_Dir2=lnmp.org Backup\_Dir3=licess.org Backup\_Dir4=jungehost.com
MYSQL\_UserName=root MYSQL\_PassWord=yourmysqlrootpassword
Backup\_Database\_Name1=abbw Backup\_Database\_Name2=bbs Backup\_Database\_Name3=mysql Backup\_Database\_Name4=test
FTP\_HostName=127.0.0.1 //FTP服务器的IP或者域名 FTP\_UserName=root //FTP服务器用户名 FTP\_PassWord=yourftppassword //FTP服务器用户对应的密码 FTP\_BackupDir=backup //备份到FTP上的目录,需要提前创建好。
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/backup/www-$Backup\_Dir1-$(date +"%Y%m%d").tar.gz -C /home/wwwroot/ $Backup\_Dir1 --exclude=soft tar zcf /home/backup/www-$Backup\_Dir2-$(date +"%Y%m%d").tar.gz -C /home/wwwroot/ $Backup\_Dir2 tar zcf /home/backup/www-$Backup\_Dir3-$(date +"%Y%m%d").tar.gz -C /home/wwwroot/ $Backup\_Dir3 --exclude=test tar zcf /home/backup/www-$Backup\_Dir4-$(date +"%Y%m%d").tar.gz -C /home/wwwroot/ $Backup\_Dir4
/usr/local/mysql/bin/mysqldump -u$MYSQL\_UserName -p$MYSQL\_PassWord $Backup\_Database\_Name1 > /home/backup/db-$Backup\_Database\_Name1-$(date +"%Y%m%d").sql /usr/local/mysql/bin/mysqldump -u$MYSQL\_UserName -p$MYSQL\_PassWord $Backup\_Database\_Name2 > /home/backup/db-$Backup\_Database\_Name2-$(date +"%Y%m%d").sql /usr/local/mysql/bin/mysqldump -u$MYSQL\_UserName -p$MYSQL\_PassWord $Backup\_Database\_Name3 > /home/backup/db-$Backup\_Database\_Name3-$(date +"%Y%m%d").sql /usr/local/mysql/bin/mysqldump -u$MYSQL\_UserName -p$MYSQL\_PassWord $Backup\_Database\_Name4 > /home/backup/db-$Backup\_Database\_Name4-$(date +"%Y%m%d").sql
rm $OldWWWBackup rm $OldDBBacku
cd /home/backup/
lftp $FTP\_HostName -u $FTP\_UserName,$FTP\_PassWord << EOF cd $FTP\_BackupDir mrm $OldWWWBackup mrm $OldDBBackup mput $TodayWWWBackup mput $TodayDBBackup bye EOF
|
脚本下载地址:backup.sh
下载脚本,将脚本放到/home/ 下面,按上面的注释修改脚本中的参数,并保存,如果不熟悉vi或者nano编辑器,可以用winscp,执行:chmod +x /home/backup.sh 为脚本添加执行权限,执行:crontab -e 添加定时执行
在crontab中加入:0 3 \* \* \* /home/backup.sh
凌晨3点自动执行/home/bakcup.sh 脚本,备份服务器上的数据并上传到FTP上。
当然也可以手动执行进行备份:
cd home ./backup.sh