Linux网站数据定期自动备份与删除

以前写过,这次做个记录

需求是这样的,首先网站文件和数据库需要每天自动备份,然后备份目录超过一定时间的删除,比如保留最近14天地备份

刚好vps是redhat,里面默认居然没有装crond的服务,输入以下命令安装

1
yum install cronie

创建备份脚本

1
vi /root/bakweb.sh

编辑并输入以下内容

1
2
3
4
5
6
7
#!/bin/bash

find /home/bak/ -name '*' -type f -mtime +14 -exec rm {} \;
tar zcvf /home/bak/www.penglei.name_$(date +%F).tar.gz /var/www/html
mysqldump -u root --password=PASSWORD DBNAME > /home/bak/sql.penglei.name_$(date +%F).sql

exit 0

输入:wq保存退出。
该脚本的意思是首先选择/home/bak作为网站备份目录。
第一步,先删除/home/bak下超过14天的文件;
第二步,按www.penglei.name_+日期为文件名备份网站目录/var/www/html;
第三步,按sql.penglei.name_+日期为文件名导出数据库,PASSWORD和DBNAME替换为你自己的root密码和数据库名。
最后创建crond脚本,每天早上5点自动运行该脚本即可
创建crond文件

1
vi /etc/cron.d/bakweb

编辑并输入以下内容

1
0 5 * * * root /root/bakweb.sh