Linux系统对网站数据定期自动备份与删除,linux备份


首先工作中需要网站文件和数据库需要每天自动备份,然后备份目录超过一定时间的删除,这个功能在linux系统中该如何实现?下面请看帮客之家分享的解决办法,需要的朋友可以参考下

需求是这样的,首先网站文件和数据库需要每天自动备份,然后备份目录超过一定时间的删除,比如保留最近14天地备份
刚好vps是redhat,里面默认居然没有装crond的服务,输入以下命令安装
 
yum install cronie

创建备份脚本
 
vi /root/bakweb.sh

编辑并输入以下内容
 
#!/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.jb51.name_+日期为文件名备份网站目录/var/www/html;
第三步,按sql.penglei.name_+日期为文件名导出数据库,PASSWORD和DBNAME替换为你自己的root密码和数据库名。
最后创建crond脚本,每天早上5点自动运行该脚本即可 创建crond文件
 
vi /etc/cron.d/bakweb 编辑并输入以下内容
 
0 5 * * * root /root/bakweb.sh

完成,这样Linux系统就可以对网站数据定期自动备份与删除了,谢谢阅读,希望能帮到大家,请继续关注帮客之家,我们会努力分享更多优秀的文章。


mysql 在linux下怎进行指定的数据库定时备份与删除XX天以前的备份文件?

你是要写自动备份的脚本吧,刚好我上月写了一个,已经用了近一个月出现问题,给你一份吧

邮箱?
 

linux 自动备份与恢复的脚本

#!/bin/sh
#BAKDIR可以换一个你喜欢的
BAK_DIR=/backup

#*为未知,自己查一下怎么取星期啦, 要0-6那个
DATE=$(date +%*)
#自己查一下怎么周数啦
WEEK=$(date +%*)

#备份文件名
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2

#其实没什么不同的,只是要改文件名而已
if [ $DATE -eq 0]; then
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$FULL_BAK
else
tar -g $BAK_DIR/sn.$WEEK cjf $BAK_DIR/$INCRE_BAK
fi
exit $?
# 把任务加到crontab里就行了,每天执行一次

================
#!/bin/sh
BAK_DIR=/backup
#还原目录
RECOVER_DIR=/
FULL_BAK=full_back.$WEEK.tar.bz2
INCRE_BAK=increment_back.$WEEK.$DATE.tar.bz2

echo -n "recover from week: "
read WEEK

if [ -e $BAKDIR/$FULL_BAK ]; then
tar xjf $BAK_DIR/$FULL_BAK -C $RECOVER_DIR
for N in $(seq 6); do
if [ -e $BAK_DIR/$INCRE_BAK ]; then
tar xjf $BAK_DIR/$INCRE_BAK -C $RECOVER_DIR
fi
done
else
echo "Backup file not exist!! exit now~~"
fi
exit $?

# 这个是手动执行的,要自己输入想还原到的周数年

补充:
可能要自己调试一下