中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Linux中定時運行腳本

發布時間:2021-05-21 18:00:38 來源:億速云 閱讀:1169 作者:Leah 欄目:服務器

怎么在Linux中定時運行腳本?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.安裝crontab

[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs

vixie-cron軟件包是cron的主程序;

crontabs軟件包是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序。

2.開啟crontab服務

service crond start //啟動服務

用以下的方法啟動、關閉這個cron服務:

service crond start //啟動服務

service crond stop //關閉服務

service crond restart //重啟服務

service crond reload //重新載入配置

查看crontab服務狀態:service crond status

手動啟動crontab服務:service crond start

查看crontab服務是否已設置為開機啟動,執行命令:ntsysv

加入開機自動啟動:

chkconfig –level 35 crond on

另外順帶介紹下ntsysv和chkconfig命令:

關于ntsysv命令是類圖形界面管理模式來設置開機啟動,需要先安裝才可以使用,yum install -y ntsysv安裝好之后只需要運行一個ntsysv即可出現一個類似圖像化的管理界面。

上下鍵:可以在中間的方框當中,在各個服務之間移動;

空格鍵:可以用來選擇你所需要的服務,[*]表示開起啟動;

tab鍵:可以在方框、OK、Cancel之間移動;

[F1]鍵:可以顯示該服務的說明。

關于chkconfig命令行的形式設置是否開機自啟動或者查詢某個服務6個開機級別的運行情況。

設置開機自動啟動crond服務:

[root@CentOS ~]# chkconfig crond on

查看各個開機級別的crond服務運行情況

[root@CentOS ~]# chkconfig –list crond

crond 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

可以看到2、3、4、5級別開機會自動啟動crond服務

取消開機自動啟動crond服務:

[root@CentOS ~]# chkconfig crond off

3.設置需要執行的腳本

新增調度任務可用兩種方法:

1)、在命令行輸入: crontab -e 然后添加相應的任務,wq存盤退出。

2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。

crontab -e配置是針對某個用戶的,而編輯/etc/crontab是針對系統的任務

查看調度任務

crontab -l //列出當前的所有調度任務

crontab -l -u jp //列出用戶jp的所有調度任務

刪除任務調度工作

crontab -r //刪除所有任務調度工作

直接編輯 vim /etc/crontab ,默認的文件形式如下:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

這個文本解釋的已經比較直觀了,其中

星號(*):代表所有可能的值,例如month字段如果是星號,則表示在滿足其它字段的制約條件后每月都執行該命令操作。

逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,“1,2,5,7,8,9”

中杠(-):可以用整數之間的中杠表示一個整數范圍,例如“2-6”表示“2,3,4,5,6”

正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute字段,表示每十分鐘執行一次。

這里舉幾個例子,基本涵蓋了常見的一些情況:

實例1

5   *    *      *   *   ls     指定每小時的第5分鐘執行一次ls命令
30   5    *      *   *   ls     指定每天的 5:30 執行ls命令
30   7    8      *   *   ls     指定每月8號的7:30分執行ls命令
30   5    8      6   *   ls     指定每年的6月8日5:30執行ls命令
30   5    8      6   *   ls     指定每年的6月8日5:30執行ls命令
30   6    *      *   0   ls     指定每星期日的6:30執行ls命令
30   3   10,20     *   *   ls     每月10號及20號的3:30執行ls命令
25   8-11  *      *   *   ls     每天8-11點的第25分鐘執行ls命令
*/15  *    *      *   *   ls     每15分鐘執行一次ls命令
30   6   */10     *   *   ls     每個月中,每隔10天6:30執行一次ls命令
22   4    *      *   *   root   run-parts   /etc/cron.daily
#每天4:22以root身份執行/etc/cron.daily目錄中的所有可執行文件,run-parts參數表示,執行后面目錄中的所有可執行文件。

實例2

#每晚的21:30 重啟apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
#每月1、10、22日的4 : 45重啟apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
#每周六、周日的1 : 10重啟apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
#每天18 : 00至23 : 00之間每隔30分鐘重啟apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
#每星期六的11 : 00 pm重啟apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
#晚上11點到早上7點之間,每隔一小時重啟apache
0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
#每一小時重啟apache
0 */1 * * * /usr/local/etc/rc.d/lighttpd restart
#每月的4號與每周一到周三的11點重啟apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
#一月一號的4點重啟apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
#每半小時同步一下時間
0/30 * * * * /usr/sbin/ntpdate 210.72.145.44

注意

* *1 * * * 命令表示是每小時之內的每一分鐘都執行。

必須指定在每個小時的第幾分鐘執行,也就是說第一個*號必須改成一個數值。

因為*號表示的就是每一分鐘。

另外小時位的/1和沒有區別,都是每小時一次。

如果是設置*/2,實際上是能被2整除的小時數而不是從定時設置開始2小時后執行,比如9點設的到10點就會執行。

最后可能會遇到下面這個問題

root用戶下 輸入 crontab -l 顯示

no crontab for root 例如:

[root@CentOS ~]# crontab -l

no crontab for root

這個問題非常簡單,同樣在 root 用戶下輸入 crontab -e

按 Esc 按: wq 回車

在輸入 crontab -l 就沒有問題了

什么是Linux系統

Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。

看完上述內容,你們掌握怎么在Linux中定時運行腳本的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武宣县| 岐山县| 武川县| 甘孜| 集贤县| 乐平市| 鹰潭市| 横峰县| 修水县| 交口县| 阿合奇县| 阳西县| 长沙县| 昌平区| 辽源市| 高雄县| 隆回县| 龙游县| 银川市| 开鲁县| 荆门市| 塘沽区| 冀州市| 五原县| 宜都市| 乃东县| 辽阳县| 寿光市| 曲靖市| 久治县| 皮山县| 和顺县| 清水河县| 抚州市| 正安县| 湘潭县| 双流县| 株洲县| 新兴县| 临清市| 台东市|