LinuxVPS每日自动备份到FTP及数据库通过邮箱发送方法教程
此文绍介一种,天天主动备份站点以及数据库文件,发送EMAIL到email,主动清除旧备份的方式。
提示
1、如果不需要使用邮件功能的可以跳过邮件组建部署步骤,需要的请看2
。
2、许多云主机商家会封闭邮件25端口,记得连结开启!发送邮件的巨细和收执也与云主机商和收执的email关于,数据库超越限定会发送失利。
3、FTP别使用要备份站点所在的云主机,否则就没多粗心义了。
博得主动备份script
1、部署邮件发送依靠组件
yum install sendmail
yum install mailx
此方式用CentOS
测试,Debian/Ubuntu
使用apt-get
部署。
2、博得备份script
wget http://moerats.com/usr/down/backup.sh
script修改
1、建立备份文件夹
cd /home
mkdir back
2、修正backup.sh
相关信息
将script下载到本地修正好再上传或者直接合过WinSCP
改都可以。
#!/bin/bash
# 进入到备份文件夹
cd /home/back
#压缩站点数据
tar zcvf web_$(date +"%Y%m%d").tar.gz 站点目录
# 导出数据库到备份文件夹内
mysqldump -uroot -p数据库密钥 数据库称号 > web_data_$(date +"%Y%m%d").sql
# 以附件形式发送数据库到指定email
echo "Blog date"|mail -s "Backup$(date +%Y-%m-%d)" -a web_data_$(date +"%Y%m%d").sql 收件人email
# 清除本地3天前的数据
rm -rf web_$(date -d -3day +"%Y%m%d").tar.gz web_data_$(date -d -3day +"%Y%m%d").sql
# 登录FTP
lftp ftp地址 -u ftp用户名,ftp密钥 << EOF
# 进入FTP根目录
cd ftp根目录文件夹
# 清除3天前备份文件
mrm web_$(date -d -3day +"%Y%m%d").tar.gz
mrm web_data_$(date -d -3day +"%Y%m%d").sql
# 上传当天备份文件
mput web_$(date +"%Y%m%d").tar.gz
mput web_data_$(date -d -3day +"%Y%m%d").sql
bye
EOF
按script要求修改站点路径,数据库密钥,称号,FTP和email便可。
3、测试备份能否一般
sh /root/backup.sh
测试途中中请不要关闭SSH,直到执行终了,若没有问题,则持续。
按时执行,逐日备份
1、付与文件执行权限(755)
chmod +x /root/backup.sh
2、设定主动任务
crontab -e
SSH执行以上command。
3、增加任务
00 00 * * * /root/backup.sh
按键盘字符:“i”,回车另起一行,增加以上代码,路径和时间请依据实战情况修正。
就中00 00为时间分/小时,可自行修正,比如:30 00 *,就是天天侵晨0:30执行这个script。
希望以上的文章对各位有用,如果觉得不错给我点个喜欢吧!更多和LinuxVPS每日自动备份到FTP及数据库通过邮箱发送方法相关的问题或者对新加坡主机200一年贵吗有疑惑也欢迎大家咨询。