----------------------------------------------------------------------
谢回
我这里要把/root/.halo
目录下面的所有文件备份到/data/backup
里面,
并且保存为wwwrootbak20XX-XX-XX.tar.gz压缩包,
然后只保留最近30天的备份。
一、创建保存备份文件的目录:/data/backup
#打开/data目录
cd /data
#创建backup文件夹
mkdir backup
二、创建备份脚本文件:/data/wwwroot_backup.sh
#打开/data目录
cd /data
#用vim创建一个 wwwroot_backup.sh并编辑
vim wwwroot_backup.sh
输入一下内容:
#!/bin/sh
BK_DR=/data/backup #备份文件存放路径
DB_DR=/root/.halo #需要备份的文件夹
DAYS=30 #DAYS=30代表删除30天前的备份,即只保留最近30天的备份
LINUX_USER=root #系统用户名
date=` date +%Y%m%d `
tar zcvf $BK_DR/wwwrootbak$date.tar.gz $DB_DR
chown -R $LINUX_USER:$LINUX_USER $BK_DR #更改备份数据库文件的所有者
find $BK_DR -name "wwwrootbak*" -type f -mtime +$DAYS -exec rm {} \; #删除30天前的备份文件(注意:{} \;中间有空格)
三、修改文件属性,使其可执行
chmod +x /data/wwwroot_backup.sh
四、修改/etc/crontab
vi /etc/crontab
在下面添加:
40 1 * * * root /data/wwwroot_backup.sh
表示每天凌晨1点40分执行备份
5、重新启动crond使设置生效
/bin/systemctl restart crond.service #重启服务
systemctl enable crond.service #设为开机启动
/bin/systemctl start crond.service #启动
----------------------------------------------------------------------