Bash备份网站至邮件
2014年01月14日
重新开始写博客,最重要的是什么?数据啊!!!服务器不靠谱,数据丢失了哭都来不及。所以要备份啦,今天才开始动手做已经很对不起了。
本来使用Wordpress的BackWPup插件做网站备份,因为安全因素,禁止了某些函数,导致不能备份到Dropbox;考虑备份到ftp,ftp服务器有数据大小的限制,几十M的备份包直接删除;后来使用该插件的邮件备份功能将数据备份到163邮箱。但是只能备份自己的网站,同一个服务器上的其它网站不能备份。为了做自定义的备份,那就写脚本喽。半小时搞定,丰衣足食~
备份的主要内容是数据库和网站目录。大致思路:
导出数据库 --> 将导出的数据库和网站一起压缩 --> 发送到邮件。
确实很简单吧,依赖mutt软件,需要先安装。脚本如下:
#!/bin/bash
[email protected]
dir_name=`date +"%Y%m%d"`
backup_dir=/tmp/$dir_name
if [ -d $backup_dir ]
then
rm -rf $backup_dir
fi
mkdir $backup_dir
lhzhi_dir=$backup_dir/lhzhi
mkdir -p $lhzhi_dir
www_lhzhi=/var/www/html/lhzhi/
tar_lhzhi=$lhzhi_dir/lhzhi.tgz
mysqldump -u useroflhzhi -pxxx dboflhzhi > $lhzhi_dir/${dir_name}_lhzhi.sql
tar czfP $tar_lhzhi $www_lhzhi $lhzhi_dir/${dir_name}_lhzhi.sql
lhzhi_content="Here is your website:www.lhzhi.com on $dir_name"
echo $lhzhi_content | mutt -s "lhzhi_backup_$dir_name" -a $tar_lhzhi -b $email
然后简单运行下这个脚本就可以登录邮件收取备份数据了,为了做自动化一些,可以把这个脚本加入到crontab做定时执行。
# crontab -l
0 2 * * * /bin/bash /root/bin/backup.sh
服务器每天凌晨两点将数据发送往目标邮箱。
当前暂无评论 »