linux文件夹定时备份

一枝梅 1月前 ⋅ 88 阅读

1.设置crontab定时任务

使用命令vim /etc/crontab修改定时任务,新增配置0 12 * * * root sh /root/data-backup/backup.sh ,该条定时任务的意思是每天中午十二点执行backup.sh备份脚本。

修改完配置文件之后使用命令service crond reload重新载入配置使得新配置生效。

/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

2.编写backup.sh文件

#! /bin/bash

rm -rf /root/data-backup/current.tar.gz
cp -r /root/mblog /root/data-backup/mblog
tar -zcPvf /root/data-backup/$(date +%Y%m%d).tar.gz /root/data-backup/mblog
tar -zcPvf /root/data-backup/current.tar.gz /root/data-backup/mblog
rm -rf /root/data-backup/mblog

find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;

该命令会定时备份/root/data文件夹中的内容到/root/data-backup文件夹,并按照日期打包成类似于 20210102.tar.gz这种格式的压缩文件,同时删除30天以前的备份。

得到的备份结果如下

-rw-r--r-- 1 root root 137867105 Dec 16 12:00 20201216.tar.gz
-rw-r--r-- 1 root root 137851571 Dec 17 12:00 20201217.tar.gz
-rw-r--r-- 1 root root 137869114 Dec 18 12:00 20201218.tar.gz
-rw-r--r-- 1 root root 137868645 Dec 19 12:00 20201219.tar.gz
-rw-r--r-- 1 root root 137866479 Dec 20 12:00 20201220.tar.gz
-rw-r--r-- 1 root root 137859440 Dec 21 12:00 20201221.tar.gz
-rw-r--r-- 1 root root 137858839 Dec 22 12:00 20201222.tar.gz
-rw-r--r-- 1 root root 137858840 Dec 23 12:00 20201223.tar.gz
-rw-r--r-- 1 root root 137858921 Dec 24 12:00 20201224.tar.gz
-rw-r--r-- 1 root root 137859368 Dec 25 12:00 20201225.tar.gz
-rw-r--r-- 1 root root 137859558 Dec 26 12:00 20201226.tar.gz
-rw-r--r-- 1 root root 137860287 Dec 27 12:00 20201227.tar.gz
-rw-r--r-- 1 root root 137859748 Dec 28 12:00 20201228.tar.gz
-rw-r--r-- 1 root root 137858826 Dec 29 12:00 20201229.tar.gz
-rw-r--r-- 1 root root 137860359 Dec 30 12:00 20201230.tar.gz
-rw-r--r-- 1 root root 137840087 Dec 31 12:00 20201231.tar.gz
-rw-r--r-- 1 root root 137839434 Jan  1 12:00 20210101.tar.gz
-rw-r--r-- 1 root root 137839360 Jan  2 12:00 20210102.tar.gz
-rw-r--r-- 1 root root 137839753 Jan  3 12:00 20210103.tar.gz
-rw-r--r-- 1 root root 137839758 Jan  4 12:00 20210104.tar.gz
-rw-r--r-- 1 root root 137839605 Jan  5 12:00 20210105.tar.gz
-rw-r--r-- 1 root root 137839692 Jan  6 12:00 20210106.tar.gz
-rw-r--r-- 1 root root 137839733 Jan  7 12:00 20210107.tar.gz
-rw-r--r-- 1 root root 137839793 Jan  8 12:00 20210108.tar.gz
-rw-r--r-- 1 root root 137839367 Jan  9 12:00 20210109.tar.gz
-rw-r--r-- 1 root root 137839434 Jan 10 12:00 20210110.tar.gz
-rw-r--r-- 1 root root 137839455 Jan 11 12:00 20210111.tar.gz
-rw-r--r-- 1 root root 137839587 Jan 12 12:00 20210112.tar.gz
-rw-r--r-- 1 root root 137839705 Jan 13 12:00 20210113.tar.gz
-rw-r--r-- 1 root root 137835136 Jan 14 12:00 20210114.tar.gz
-rw-r--r-- 1 root root 137834772 Jan 15 12:00 20210115.tar.gz
-rw-r--r-- 1 root root 137835370 Jan 16 12:00 20210116.tar.gz
-rw-r--r-- 1 root root       215 Jun 26  2020 backup.sh

3.将备份文件下载到本地

使用scp命令将远端的文件下载到本地,这里演示使用密钥登陆的方式

scp -r -i id_rsa root@{ip}:/root/data-backup/current.tar.gz ./backup/$(date +%Y%m%d).tar.gz

参考文档:

https://www.cnblogs.com/clovershell/p/9870603.html


#linux #crontab #备份
我有话说:

全部评论: 0

    文章目录