Chinaunix
标题:
shell控制目录下的子目录个数
[打印本页]
作者:
prcardin
时间:
2014-06-20 15:29
标题:
shell控制目录下的子目录个数
shell控制目录下的子目录个数
/data/temp 目录下的目录个数的控制,如果超过这个数值,比如控制目录下的子目录在30个,删除创建创建时间最久远的目录~~~
作者:
todayhero
时间:
2014-06-20 16:10
@prcardin
我做的实验假设目录是/tmp/temp
dir_count=`find /tmp/temp/ -maxdepth 1 -type d | wc -l`
del_dir_count=$((${dir_count}-31))
if [ ${dir_count} -gt 31 ];then
ls -hlt | awk '$0~/^d/{print $NF}' | tail -${del_dir_count} | xargs rm -rf
fi
复制代码
作者:
prcardin
时间:
2014-06-20 16:12
if判断那个模块做的很好,谢谢哈
目测是可以的
回复
2#
todayhero
作者:
用户名注册后不能更改
时间:
2014-06-20 16:14
until [ "CU" = "chinaunix" ]
do
until [ `ls -F /data/temp | grep -c '/$'` -gt 30 ]
do
sleep x
done
rm xxx
done
额,创建时间最久远不知道怎么判断。
作者:
用户名注册后不能更改
时间:
2014-06-20 16:16
回复
2#
todayhero
厉害,ls我还是没用熟练,很多参数都不知道。
作者:
prcardin
时间:
2014-06-20 16:18
文件创建时间的比较。倒数第30个以前的都删除
回复
4#
用户名注册后不能更改
作者:
关阴月飞
时间:
2014-06-20 16:19
本帖最后由 关阴月飞 于 2014-06-20 16:26 编辑
回复
1#
prcardin
不考虑子目录中的子目录,另外创建时间是没有保存的,这里用ls 的-t参数排序:
ls /data/temp/*/ -dt |awk 'NR>30' |xargs -i rm -rf /data/temp/{}/
复制代码
作者:
prcardin
时间:
2014-06-20 16:21
PF大婶,好简单的说。ls的参数真多
awk里的NR这用的新颖
回复
7#
关阴月飞
作者:
用户名注册后不能更改
时间:
2014-06-20 16:52
回复
8#
prcardin
我一直觉得,越是基础的命令,越应该研究深入,因为日常中用到的机会最大。
但是……
等世界杯之后再说吧。
等XXX之后再说吧。
等……
结果我还是不会ls。
作者:
prcardin
时间:
2014-06-20 16:55
ls /data/temp/*/ -dt |awk 'NR>30' |xargs -i rm -rf /data/temp/{}/
-i加上去后,不能删除。去掉-i才能删除。pf大婶,怎么破
回复
7#
关阴月飞
作者:
prcardin
时间:
2014-06-20 16:56
是的,像这种基础的命令,就卡主了。问题有时没那么难
回复
9#
用户名注册后不能更改
作者:
关阴月飞
时间:
2014-06-20 17:02
本帖最后由 关阴月飞 于 2014-06-20 17:02 编辑
回复
10#
prcardin
你是在逗我么? -i 不行? -I 行不行? 也不行,那就别加了
作者:
prcardin
时间:
2014-06-20 18:13
-i实测不行
-I 没测试
后面就都没加
回复
12#
关阴月飞
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2