居然会有人问我要这个东西… 我最不会写脚本了好吧呀!
真心觉得这货 Google 一下粗来一大坨
嘛不多说了.. 既然写了就发粗来让大家吐槽一下好了… 不光是 WordPress.. 只要是静态文件+MySQL的站都可以用。
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
| #!/bin/bash
mysqldbuser="wordpress" mysqldbpass="YourMySQLPassword" mysqldb="wordpress" webroot="/var/www/wordpress" backuproot="/root/backup/backups" temproot="/root/backup/temp/`date +%y-%m-%d`" temp="/root/backup/temp" logfile="/root/backup/backup.log"
mkdir -p $backuproot $temproot/files
echo "Backup start" >> $logfile echo $(date +"%y-%m-%d %H:%M:%S") >> $logfile echo "------------" >> $logfile
echo "Dumping MySQL database..." >> $logfile mysqldump --user=$mysqldbuser --password=$mysqldbpass --databases $mysqldb > $temproot/db.$(date +"%y-%m-%d").sql echo "Done exporting database." >> $logfile
echo "Copying website files..." >> $logfile cp -r $webroot $temproot/files/ echo "Done copying website files." >> $logfile
echo "Compressing backup files..." >> $logfile cd $temp tar zcf $backuproot/backup-$(date +"%y-%m-%d").tar.gz $(date +"%y-%m-%d") >> $logfile echo "Backup complete." >> $logfile
echo "Cleaning up..." >> $logfile rm -rf $temp/* >> $logfile
echo "------------" >> $logfile echo >> $logfile
|
真心的没有用到任何… 高级的东西。
保存为文件 /root/backup.sh
然后修改下前面几个变量,以 root 用户新建 cronjob
crontab -e
然后敲
00 01 * * 1 /root/backup.sh
保存。这样每周一的凌晨1点(当然是你的服务器时间..) 就会自动备份到 /root/backup/backups
下。懒得写自动删除… 于是手动删好了。
我要是被猫菊苣笑话了某人你可死定了