Shell定時刪除日志


vim del_log.sh

#!/bin/bash

location="/home/dl/code/logs"

find $location -mtime +4 -type f | xargs rm -f

#location 是刪除文件所在目錄

#-mtime +4 是設置刪除多少天以前的文件

#-type f 刪除的類型為文件

 

給文件執行權限

chmod +x del_log.sh

查看當前用戶是否存在定時執行任務

crontab –l

添加定時執行任務

crontab –e

進入到文件/tmp/crontab.4rh7ec(文件后綴不一樣沒關系),添加

10 4 * * 1 /bin/bash /home/dl/code/del_log.sh

命令crontab

*   *   *   *   *   command

分  時  日  月  周   命令

 

#每天兩點執行一次

0 2 * * *

 

#每分鍾執行一次

* * * * *

 

#每隔一小時執行一次       

00  *  *  *  *

#or

* */1 * * * 

#(/表示頻率)

 

#每小時的15和30分各執行一次

15,45 * * * *

#(,表示並列)

 

#將目前目錄及其子目錄下所有延伸檔名是 sh 的文件列出來。

find . -name "*.sh"

 

命令set ff?

編寫shell腳本后:

chmod 777 del_log.sh

運行時報錯:/bin/bash^M: bad interpreter: 沒有那個文件或目錄

vim test.sh
:set ff?
如果出現fileforma=dos那么就基本可以確定是這個問題了。
:set fileformat=unix
:wq

 

錯誤分析:

因為操作系統是windows,在windows下編輯的腳本,所以有可能有不可見字符。

腳本文件是DOS格式的, 即每一行的行尾以 來標識, 其ASCII碼分別是0x0D, 0x0A.

可以有很多種辦法看這個文件是DOS格式的還是UNIX格式的, 還是MAC格式的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM