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格式的