linux定时删除文件

[oracle@TEST arch]$ cat d-archivelog.sh 
#!/bin/bash
find /arch/ -mtime +2 -name '*.dbf' -exec rm -rf {} \;

find 目录 -mtime +日期 -name 文件名 -exec -rm -rf {} \;
删除/arch/目录下 2天前 *.dbf格式的文件

创建实验的文件制定
-t STAMP
   use [[CC]YY]MMDDhhmm[.ss] instead of current time

[oracle@TEST arch]$ touch -t 201701080101 a.dbf
[oracle@TEST arch]$ touch -t 201701070101 b.dbf
[oracle@TEST arch]$ touch -t 201701060101 c.dbf
[oracle@TEST arch]$ touch -t 201701050101 d.dbf

给shell脚本添加执行权限
[oracle@TEST arch]$ chmod +x d-archivelog.sh
[oracle@TEST arch]$ ll
total 4
-rw-r--r-- 1 oracle oinstall  0 Jan  8 01:01 a.dbf
-rw-r--r-- 1 oracle oinstall  0 Jan  7 01:01 b.dbf
-rw-r--r-- 1 oracle oinstall  0 Jan  6 01:01 c.dbf
-rwxr-xr-x 1 oracle oinstall 65 Jan  9 18:34 d-archivelog.sh
-rw-r--r-- 1 oracle oinstall  0 Jan  5 01:01 d.dbf

执行脚本,报了个错误,但在命令行模式下可以执行成功
[oracle@TEST arch]$ ./d-archivelog.sh 
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]


[oracle@TEST arch]$ find /arch/ -mtime +1 -name *.dbf -exec rm -rf {} \;
[oracle@TEST arch]$ ls
darchivelog.sh

发现是find -name 参数*.dbf 是多个文件 在脚本中应加'*.dbf'
这样就执行成功了。
[oracle@TEST arch]$ cat d-archivelog.sh 
#!/bin/bash
find /arch/ -mtime +2 -name '*.dbf' -exec rm -rf {} \;
[oracle@TEST arch]$ ./d-archivelog.sh
[oracle@TEST arch]$ ll
total 4
-rw-r--r-- 1 oracle oinstall  0 Jan  8 01:01 a.dbf
-rw-r--r-- 1 oracle oinstall  0 Jan  7 01:01 b.dbf
-rwxr-xr-x 1 oracle oinstall 67 Jan  9 18:43 d-archivelog.sh

添加到定时任务
系统自动指定文件
[oracle@TEST arch]$ crontab -e  
[oracle@TEST arch]$ crontab -l
* 1 * * *  /arch/d-archivelog.sh
分时日月周
手动指定文件
[oracle@TEST arch]$ vim log.cron 
1 * * * *  /arch/d-archivelog.sh
[oracle@TEST arch]$ crontab log.cron 
[oracle@TEST arch]$ crontab -l
1 * * * *  /arch/d-archivelog.sh
每小时的第一分钟执行脚本

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31419698/viewspace-2132101/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31419698/viewspace-2132101/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值