linux下自动备份网站数据到邮箱

最近事儿比较多,博客也没有去维护它,但是考虑到数据不能不备份,遂写一脚本自动备份到邮箱(现在的邮箱动辄几GB,QQ邮箱都扩容到了几TB =_=).

需要mutt支持,centos下一句话搞定:

yum install -y mutt


接着是脚本了,采用linux自带的tar命令打包,数据库采用mysql自带的mysqldump命令导出成sql文件:

#!/bin/bash
mail_to=#接收邮件地址
db_server=#数据库地址
db_user=#数据库用户名
db_pass=#数据库密码
db_base=#数据库
web_path=#网站主目录
path=#临时处理目录
mkdir -p $path
cd $path
rm -rf *
tmp_file=$(date +"%Y%m%d")
mysqldump -u$db_user -p$db_pass $db_base > $path$db_base.sql
cd $web_path
tar -czf $tmp_file.tar.gz *
mv $tmp_file.tar.gz $path
cd $path
echo "File Backup" | mutt -a $path$tmp_file.tar -a $path$db_base.sql -s "File Backup" $mail_to
rm -rf *

最后添加一条自动时钟作业:

crontab -e

我需要它每周备份一次(假设是每周一的上午10点30备份):

30 10 * * 01 sh /root/bakup.sh

搞定

标签: linux, backup, bash, cron

添加新评论