1 新建一个简单的sh脚本,定相应的目录做备份 [root@myvm data]# cat test.sh #!/bin/bash tar -cvzf /data/`date +%Y%m%d%H%M`
1 新建一个简单的sh脚本,定相应的目录做备份
[root@myvm data]# cat test.sh
#!/bin/bash
tar -cvzf /data/`date +%Y%m%d%H%M`.tar.gz /data/sdb1
2 设置定时任务crontab
crontab -l
[root@myvm data]# crontab -l
# test add tar.gz
*/1 * * * * /bin/sh /data/test.sh
3 新建一个简单的sh脚本,定时清理备份,保持磁盘大小的稳定
[root@myvm data]# cat test.clear.sh
#!/bin/bash
##
#
#
find /data -type f -name `date +%Y%m%d%H%M -d '5minutes ago'`.tar.gz|xargs rm -f
4 定时任务设定做清理
[root@myvm data]# crontab -l
# test add tar.gz
*/1 * * * * /bin/sh /data/test.sh
# test delete tar.gz
*/1 * * * * /bin/sh /data/test.clear.sh
5 检查效果
-rw-r--r-- 1 root root 40218 Sep 27 13:28 201609271328.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:29 201609271329.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:30 201609271330.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:31 201609271331.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:32 201609271332.tar.gz
每分钟备份一次,每分钟清理一次,清理5前5分钟的文件,可以保证没事每刻只有5个备份文件,如下:
-rw-r--r-- 1 root root 40218 Sep 27 13:30 201609271330.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:31 201609271331.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:32 201609271332.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:33 201609271333.tar.gz
-rw-r--r-- 1 root root 40218 Sep 27 13:34 201609271334.tar.gz
通过这个例子,也包含sh,crontab ,find,tar,date,xargs 的用法