利用Cron备份数据库及站点文件

1
448

linux提供的cron是非常不错的,在windows系统来说就是定时任务吧。网上有很多详细的关于wordpress备份的教程,但我发现有教程里面写的代码不能完全满足我的需求,于是DIY稍微改动下。因为我目前有两个数据库,而网上的教程是备份一个数据库的,下面的代码是将每个数据库导出之后再tar压缩,不知道是否有将整个数据库导出的命令,看了下mysql的开发文档,没有找到。

备份数据库:sql_backup.sh

DBHOST=localhost #主机地址
DBNAME1=onedou_1 #数据库1
DBNAME2=onedou_2 #数据库2
DBUSER=onedou #数据库用户
DBPASS=123456789 #数据库用户密码
DATE=`date +%Y%m%d`;
cd /home/onedou/private/backup #进入备份目录
mysqldump --opt --user="$DBUSER" --password="$DBPASS" -h $DBHOST $DBNAME1 > "$DBNAME1"_backup_$DATE.sql #备份数据库1
mysqldump --opt --user="$DBUSER" --password="$DBPASS" -h $DBHOST $DBNAME2 > "$DBNAME2"_backup_$DATE.sql #备份数据库2
tar -zcf SQLBackup_$DATE.tar.gz "$DBNAME1"_backup_$DATE.sql "$DBNAME2"_backup_$DATE.sql #将数据库1和2压缩到backup目录下
mutt [email protected] -a SQLBackup_$DATE.tar.gz -s "SQL_Backup_$DATE" #邮件发送数据库压缩包
rm -r "$DBNAME1"_backup_$DATE.sql #删除压缩后的数据库1
rm -r "$DBNAME2"_backup_$DATE.sql #删除压缩后的数据库2
rm -r SQLBackup_$DATE.tar.gz #删除数据库1和2的压缩包
​

读取BackupFiles.lst的内容并进行压缩备份,如何将站点目录下的文件及目录逐一读出来并写道txt文件呢?可以参照给WordPress主题添加文件校验和替换smilies表情功能里面的Checksums类来完成,然后删除不需要备份的,这样就比手动一条条的写快得多。

备份站点文件:site_backup.sh,需注意的是目录后面没有/。

cd /home/onedou/private/
DATE=`date +%Y%m%d`;
tar -zcf backup/SiteBackup_"$DATE".tar.gz  -T BackupFiles.lst #将数据库备份文件Database_"$DATE".sql以及backup目录中的BackupFiles.lst
#mutt [email protected] -a SQLBackup_$DATE.tar.gz -s "SQL_Bac​​​​​​​​​​​​​​​​​​​​​
/home/onedou/www/www/.htaccess
/home/onedou/www/www/bdunion.txt
/home/onedou/www/www/go.php
/home/onedou/www/www/googleeed804ea85ee6fdf.html
/home/onedou/www/www/images
/home/onedou/www/www/info.php
/home/onedou/www/www/robots.txt
/home/onedou/www/www/rootsum.php
/home/onedou/www/www/wp-config.php
/home/onedou/www/www/wp-content
/home/onedou/www/you
/home/onedou/www/pic
/home/onedou/www/down
​
上一篇给WordPress主题添加文件校验和替换smilies表情功能
下一篇在Windows 7 64位下运行红色警戒2的补丁

1条留言

留言

留言不能为空
怎么称呼您?

验证码 *