CentOS Linux自动备份文件按日期备份

说明:
        我这里要把/data/wwwroot目录下面的所有文件备份到/data/backup里面,并且保存为wwwrootbak20190520.tar.gz的压缩文件(20190520是指备份执行时当天的日期2019-5-20),然后只保留最近30天的备份。

1、创建保存备份文件的目录:/data/backup
   cd /data
   mkdir backup
2、创建备份脚本文件:/data/wwwroot_backup.sh
   cd  /data
   vim wwwroot_backup.sh
   输入以下内容:

  #!/bin/sh
   BK_DR=/data/backup    #备份文件存放路径
   DB_DR=/data/wwwroot
   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天前的备份文件(注意:{} \;中间有空格)
3、修改文件属性,使其可执行  
   chmod +x /data/wwwroot_backup.sh
4、修改/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 #启动   

 

    原文作者:redrose2008
    原文地址: https://blog.csdn.net/redrose2008/article/details/90417033
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞