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
注意:本文归作者所有,未经作者允许,不得转载