首页 > 系统服务 > 详细

shell脚本自动清理备份文件

时间:2017-02-05 01:08:20      阅读:414      评论:0      收藏:0      [点我收藏+]

删除7天之前的所有备份,但不删除备份文件少于3份的

格式如下:

/u02/applications/micro-shop-20161117-1650.tgz

/u02/applications/micro-shop-20161124-1446.tgz

/u02/applications/micro-shop-20161208-1847.tgz

/u02/applications/micro-shop-20161222-1337.tgz

/u02/applications/micro-shop-20170105-1527.tgz

/u02/applications/micro-shop-20170112-1501.tgz

/u02/applications/shop-portal-20161222-1349.tgz

/u02/applications/shop-portal-20161223-0206.tgz

/u02/applications/wechat-20150430-1750.tgz

/u02/applications/wechat-20150507-1013.tgz

/u02/applications/wechat-20150507-1514.tgz

/u02/applications/wechat-20150515-1713.tgz

/u02/applications/wechat-20150527-1123.tgz

/u02/applications/wechat-20150604-1337.tgz



#!/bin/sh

find /u02/applications -maxdepth 1 -name "*-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9].tgz" -mtime +7 -type f|sort > /tmp/all.txt

cat /tmp/all.txt|awk -F ‘-[0-9][0-9][0-9][0-9]‘ ‘{print $1}‘|awk -F ‘/‘ ‘{++S[$4]} END {for(a in S) if(S[a]>3) print a,S[a]-3}‘ > /tmp/count.txt

while read NAME COUNT

        do sed -n  "/$NAME-/p" /tmp/all.txt| sed -n "1,$COUNT p">> /tmp/del.txt

done </tmp/count.txt

cat /tmp/del.txt |xargs -n 10 rm -f

cat /dev/null > /tmp/del.txt


shell脚本自动清理备份文件

原文:http://leomars.blog.51cto.com/683246/1894911

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!