腳本在伺服器上定時運行
發布時間: 2025-01-07 18:08:18
㈠ (實用)linux定時任務(crontab)
簡介我們可能會對Linux進行簡單的監控或者定期執行一些操作,因此會用到linux自帶的定時任務功能。
語法manUsage:crontab[options]filecrontab[options]crontab-n[hostname]Options:-u<user>defineuser-eedituser'scrontab-llistuser'scrontab-rdeleteuser'scrontab-ipromptbeforedeleting-n<host>sethostinclustertorunusers'crontabs-cgethostinclustertorunusers'crontabs-sselinuxcontext-x<mask>enabledebugging1. 查看定時任務1)查看當前用戶的crontab-l如果該伺服器被挖礦,他很可能也同時執行了定時任務,用此命令可以看到挖礦的腳本
2)查看指定用戶的crontab-l-uzzz#zzz為系統存在的一個用戶查看指定用戶(zzz)正在執行的任務 ,只需要添加-u參數即可,其他命令也同理
3)查看系統所有用戶的cat/etc/passwd|cut-f1-d:|xargs-I{}crontab-l-u{}2. 刪除當前的定時任務crontab-r3.新增或編輯定時任務crontab-e進入編輯模式, 按照指定任務命令格式編輯命令, 格式參照下面的任務命令格式
4.查看支持的環境變數cat/etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root#發送郵件到賬號任務命令格式任務命令分為兩個部分: 第一部分是cron表達是, 後面跟著sh命令
例子
*****/root/date.sh#每分鍾執行一次date.sh腳本文件0****echo'-------------'>>/root/date.txt#每小時0分的時候向date.txt文件中加入一句話*1**0rm-rf/root/date1#每個星期的星期天的1點左右刪除date1文件cron表達式的語法規則*****-----|||||||||+-----星期中星期幾(0-6)(星期天為0)|||+----------月份(1-12)||+---------------一個月中的第幾天(1-31)|+--------------------小時(0-23)+-------------------------分鍾(0-59)sh命令語法規則單行的可執行的sh命令, 可以是運行shell腳本的命令,也可以是直接的sh命令
其他1) 任務是否執行查詢在/var/log/目錄下有cron開頭的文件, 裡麵包含了crontab的執行記錄
Feb1910:19:01zdcCROND[8314]:(root)CMD(/root/date.sh)Feb1910:20:01zdcCROND[8390]:(root)CMD(/root/date.sh)Feb1910:21:01zdcCROND[8440]:(root)CMD(/root/date.sh)Feb1910:22:01zdcCROND[8487]:(root)CMD(/root/date.sh)Feb1910:23:01zdcCROND[8544]:(root)CMD(/root/date.sh)推薦將任務寫成腳本, 在其中添加執行成功失敗之類的輸出邏輯,自定義輸出到指定文件中 如
crontab-l02) 任務是否出錯判斷當任務執行過程中報錯後,會給當前用戶發送郵件,默認情況下在/var/spool/mail 中的對應用戶文件下
crontab-l1crontab-l2crontab發送郵件發送到外部郵箱,以qq郵箱為例
在cat /etc/crontab將MAILTO=root 修改為你需要的外部郵箱賬號
且在crontab -e 的第一行添加MAILTO=外部郵箱賬號
並且配合linux發送郵件文章使用
結束語盡信書則不如,以上內容,純屬一家之言,因個人能力有限,難免有疏漏和錯誤之處,如發現bug或者有更好的建議,歡迎批評指正,不吝感激
如果您喜歡我的文章,可以[關注]+[點贊]+[評論],您的三連是我前進的動力,期待與您共同成長~
crontab-l3熱點內容