shell脚本自动清理备份文件

简介:

7天内的备份全部保留,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















本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/1894911 ,如需转载请自行联系原作者



相关文章
|
4天前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
2天前
|
监控 Unix Shell
shell脚本编程学习
shell脚本编程
22 12
|
5天前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
8天前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
25 2
|
29天前
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
43 17
|
29天前
|
存储 Unix Shell
shell脚本编程基础
【9月更文挑战第4天】
36 12
|
28天前
|
网络协议 关系型数据库 MySQL
Shell 脚本案例
Shell 脚本案例
36 8
|
28天前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
2月前
|
运维 监控 Shell
自动化运维之宝:编写高效的Shell脚本
【8月更文挑战第31天】在运维的世界里,Shell脚本是一把瑞士军刀,它让日常任务变得简单而高效。本文将通过浅显易懂的语言和实际案例,带你领略Shell脚本的魅力,并教你如何打造属于自己的自动化工具箱。无论你是初学者还是资深运维,这篇文章都将为你打开一扇窗,让你看到不一样的风景。让我们一起探索Shell脚本的世界吧!
|
2月前
|
存储 Shell 数据安全/隐私保护
minio一键安装脚本分享(shell和python)
minio一键安装脚本分享(shell和python)
46 0