您好,登錄后才能下訂單哦!
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
每小時的第一分鐘執行腳本
關于linux中怎么定時刪除文件問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。