linux Shell: 定时清理指定目录下大于指定大小、指定文件名的文件?
2010-10-20 18:21
162 查看
定时清理指定目录下大于指定大小、指定文件名的文件
1、查找指定目录下大于(小于)指定大小、指定文件名的文件
find pathname –size +filesizec –name filename
find pathname –size -filesizec –name filename
2、清理(删除)
find pathname –size filesize –exec rm {} \;
3、定时
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
crontab定时时间格式如下:
t1 t2 t3 t4 t5 program
t1:表示分钟,取值(0-59)。
t2:表示小时,取值(0-23)。
t3:表示日,取值(1-31)。
t4:表示月份,取值(1-12)。
t5:表示星期,取值(0-6),0是星期天。
还有几个特殊的符号:“*”,“/”,“-”。
“*”表示所有取值范围内的数字,“/”表示每的意思,比如在分钟上 */2 ,表示每两分钟为一个单位,“-”表示从某个数字到某个数字。
由于crontab是个全局命令,因此可以在任何目录下操作crontab。
实例及总结:
在每周五的5点5分删除temp目录下文件大小走超过1KB的所有文件。
(1)文件名为findfile.sh,如下:
(2)然后对findfile.sh文件操作:
(3)在当前目录下 crontab -e编辑crontab,键入i使其成为可输入,输入如下内容:
/bin/sh代表shell程序,可以通过which sh 命令来查看机器的shell程序在哪个目录。
(4)启动cron服务
参考:
http://blog.chinaunix.net/u/31547/showart_438018.html
1、查找指定目录下大于(小于)指定大小、指定文件名的文件
find pathname –size +filesizec –name filename
find pathname –size -filesizec –name filename
2、清理(删除)
find pathname –size filesize –exec rm {} \;
3、定时
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
crontab定时时间格式如下:
t1 t2 t3 t4 t5 program
t1:表示分钟,取值(0-59)。
t2:表示小时,取值(0-23)。
t3:表示日,取值(1-31)。
t4:表示月份,取值(1-12)。
t5:表示星期,取值(0-6),0是星期天。
还有几个特殊的符号:“*”,“/”,“-”。
“*”表示所有取值范围内的数字,“/”表示每的意思,比如在分钟上 */2 ,表示每两分钟为一个单位,“-”表示从某个数字到某个数字。
由于crontab是个全局命令,因此可以在任何目录下操作crontab。
实例及总结:
在每周五的5点5分删除temp目录下文件大小走超过1KB的所有文件。
(1)文件名为findfile.sh,如下:
#!/bin/sh find temp -size +1k -exec rm {} /; |
chmod u+rwx findfile.sh #修改文件属性,使该shell脚本可执行。 #在该脚本所在目录,./findLog.sh就可以执行该shell脚本了。 |
5 5 * * 5 /bin/sh /home/findfile.sh |
(4)启动cron服务
sudo /usr/sbin/service cron start |
参考:
http://blog.chinaunix.net/u/31547/showart_438018.html
相关文章推荐
- 找出指定目录下,大于指定大小的文件(LINUX SHELL)
- linux shell 脚本 历史文件清理脚本,按天,按月,清理前N天的历史文件,删除指定大小历史文件,历史文件归档清理
- windows 定时清理指定目录文件bat
- [Linux]结合awk列举大于指定容量大小所有文件目录
- spring Quartz定时清理指定目录下的文件
- 如何查看某个指定目录下的所有文件,只要显示其文件名,并把它输出
- 通过递归查询指定目录下的所有文件和子文件夹下的指定文件名
- shell脚本第二篇——将指定目录下大于200K的文件移动到/tmp下
- 按文件大小列出指定目录下文件(du,sort)
- 文件名命工具类(将指定目录下的文件的type类型的文件,进行重命名,命名后的文件将去掉type)
- 将指定目录指定类型文件以指定分隔符组合文件名不换行输出到指定文件命令
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- 2006.9.9 实现定时拷贝屏幕,并保存为指定目录下形成文件DeleteObject(hBmp);//必须要添加,否则会占用内存,越来越小,一定要注意
- linux shell判断一个文件名判断它是目录还是文件以及在windows下出现"syntax error near unexpected token"的解决方法
- 利用Windows Service,定时监控某一目录,发现新文件后自动上传到指定web服务器
- PowerShell获取指定目录下文件列表和大小并保存成txt文档
- 通过递归查询指定目录下的所有文件和子文件夹下的指定文件名
- 获取指定目录下指定类型所有文件的全路径及文件名
- 文件名命工具类(将指定目录下的文件的type类型的文件,进行重命名,命名后的文件将去掉type)
- shell编程: 获得目录下(包括子目录)所有文件名,路径和文件大小