不管一些面試問題,仍是實際應用,都會用到虛擬機的定時任務。現作定時清理日誌日誌作一總結。html
一、查看/etc/crontab文件。java
linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面本來就有很是多的計劃性工做,所以這個系統服務是默認啓動的。另 外, 因爲使用者本身也能夠設置計劃任務,因此, Linux 系統也提供了使用者控制計劃任務的命令 :crontab 命令。linux
cron 是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務相似,當安裝完成操做系統後,默認會安裝此服務 工具,而且會自動啓動cron進程,cron進程每分鐘會按期檢查是否有要執行的任務,若是有要執行的任務,則自動執行該任務。面試
Linux下的任務調度分爲兩類,系統任務調度和用戶任務調度。vim
系統任務調度:系統週期性所要執行的工做,好比寫緩存數據到硬盤、日誌清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。windows
minute: 表示分鐘,能夠是從0到59之間的任何整數。緩存
hour:表示小時,能夠是從0到23之間的任何整數。tomcat
day:表示日期,能夠是從1到31之間的任何整數。工具
month:表示月份,能夠是從1到12之間的任何整數。測試
week:表示星期幾,能夠是從0到7之間的任何整數,這裏的0或7表明星期日。
command:要執行的命令,能夠是系統命令,也能夠是本身編寫的腳本文件。
二、刪除文件命令:
find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} \;
實例命令:
find /usr/local/tomcat/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;
說明:
將/opt/soft/log/目錄下全部30天前帶".log"的文件刪除。具體參數說明以下:
find:linux的查找命令,用戶查找指定條件的文件;
/opt/soft/log/:想要進行清理的任意目錄;
-mtime:標準語句寫法;
+30:查找30天前的文件,這裏用數字表明天數;
"*.log":但願查找的數據類型,"*.jpg"表示查找擴展名爲jpg的全部文件,"*"表示查找全部文件,這個能夠靈活運用,觸類旁通;
-exec:固定寫法;
rm -rf:強制刪除文件,包括目錄;
{} \; :固定寫法,一對大括號+空格+\+;
(注意:可添加:0 */1 * * * echo "Have a break now." >> /usr/local/myScript/logs/test.txt 每個小時往test.txt中插入一條數據,主要用於測試是否執行該腳本。)
三、給腳本添加權限:
四、將腳本添加到定時任務。
vim /var/spool/cron/root
10 1 * * * /usr/local/myScript/cleanlog.sh 天天凌晨1點10分執行
(還可使用命令直接進入編輯:crontab -e)
查看定時任務:crontab -l
總結:虛擬機的定時任務是做爲測試人員必須掌握的內容。
參考:https://blog.csdn.net/qq_39291929/article/details/79054452
https://www.cnblogs.com/think-in-java/p/5712197.html