保留最新N份备份目录脚本

 如下所示,在/opt/backup下是备份目录,只需要保留最新的三份备份,在此之前的备份目录都要删除。

[root@syslog-ng ~]# cd /opt/backup/[root@syslog-ng backup]# ls -ltotal 68drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180626drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180627drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180628drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180629drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180630drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180631drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180701drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180702drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180703drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180704drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180705drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180706drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180707drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180708drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180709drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180710drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180711[root@syslog-ng backup]# /bin/ls -l |grep "^d"drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180626drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180627drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180628drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180629drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180630drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180631drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180701drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180702drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180703drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180704drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180705drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180706drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180707drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180708drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180709drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180710drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180711[root@syslog-ng backup]# /bin/ls -l |grep "^d"|awk '{print $9}'2018062620180627201806282018062920180630201806312018070120180702201807032018070420180705201807062018070720180708201807092018071020180711[root@syslog-ng backup]# /bin/ls -l |grep "^d"|awk '{print $9}'|wc -l17[root@syslog-ng backup]# /usr/bin/expr 17 - 3 14

处理脚本如下

[root@syslog-ng backup]# cat /opt/del.sh#!/bin/bashcd /opt/backupNUM1=$(/bin/ls -l |grep "^d"|awk '{print $9}'|wc -l)NUM2=$(/usr/bin/expr $NUM1 - 3)/bin/ls -l |grep "^d"|awk '{print $9}'|/bin/sed -n "1,$NUM2 p"|xargs rm -rf

授予脚本执行权限

[root@syslog-ng backup]# chmod 755 /opt/del.sh

执行脚本

[root@syslog-ng backup]# sh /opt/del.sh

执行脚本后,发现保留下来的备份目录就行最新的三份了

[root@syslog-ng backup]# lltotal 12drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180709drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180710drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180711
©著作权归作者所有:来自51CTO博客作者80民工的原创作品,如需转载,请注明出处,否则将追究法律责任