ubuntu使用crontab啓動定時任務

Ubuntu cron 定時執行任務

https://blog.csdn.net/qq_38228830/article/details/80545004html

參考以上兩篇博客,通過實踐完成本身的定時任務python

crontab命令

crontab 命令用於安裝、刪除或者列出用於驅動cron後臺進程的表格。也就是說,用戶把須要執行的命令序列放到crontab文件中以得到執行,每一個用戶均可以有本身的crontab文件。如下是這個命令的一些參數與說明:
  1)crontab -u /*設定某個用戶的cron服務*/ 
  2)crontab -l /*列出某個用戶cron服務的詳細內容*/ 
  3)crontab -r /*刪除某個用戶的cron服務*/ 
  4)crontab -e /*編輯某個用戶的cron服務*/ 
參數名稱 含義 示例
  -l 顯示用戶的Crontab文件的內容 crontabl –l
  -i 刪除用戶的Crontab文件前給提示 crontabl -ri
  -r 從Crontab目錄中刪除用戶的Crontab文件 crontabl -r
  -e 編輯用戶的Crontab文件 crontabl -e
/etc/crontab文件語法以下:
  Minute Hour Day Month Dayofweek command
  分鐘 小時 天 月 天每星期 命令
  每一個字段表明的含義及取值範圍以下:
  Minute :分鐘(0-59),表示每一個小時的第幾分鐘執行該任務
  Hour : 小時(1-23),表示天天的第幾個小時執行該任務
  Day : 日期(1-31),表示每個月的第幾天執行該任務
  Month : 月份(1-12),表示每一年的第幾個月執行該任務
  DayOfWeek : 星期(0-6,0表明星期天),表示每週的第幾天執行該任務
  Command : 指定要執行的命令(若是要執行的命令太多,能夠把這些命令寫到一個腳本里面,而後在這裏直接調用這個腳本就能夠了,調用的時候記得寫出命令的完整路徑)
  在這些字段裏,除了「Command」是每次都必須指定的字段之外,其它字段皆爲可選字段,可視須要決定。對於不指定的字段,要用「*」來填補其位置。同時,cron支持相似正則表達式的書寫,支持以下幾個特殊符號定義:linux

  「*」 ,表明全部的取值範圍內的數字;
  「/」 , 表明」每」(「*/5」,表示每5個單位);
  「-」 , 表明從某個數字到某個數字(「1-4」,表示1-4個單位);
  「,」 ,分開幾個離散的數字;
舉例以下:正則表達式

  5 * * * * ls /*指定每小時的第5分鐘執行一次ls命令*/ 
  30 5 * * * ls /*指定天天的 5:30 執行ls命令*/ 
  30 7 8 * * ls /*指定每個月8號的7:30分執行ls命令*/ 
  50 7 * * * root run-parts /etc/cron.daily /*天天7:50以root 身份執行/etc/cron.daily目錄中的全部可執行文件*/ubuntu

新增 cron 任務

1.執行以下命令添加任務ide

  # crontab -e工具

2. 重啓cron 服務

  # service cron restartui

 

總結:

 

linux中將一個腳本文件做爲一個計劃任務小結,以python腳本爲例:spa

  1 建立腳本文件test.py,在文件開頭須要加上下面一行.net

    #!/usr/bin/python

    上面這行的做用是說明使用那個解釋器來執行該文件,若是不知道python解釋器在哪,可使用命令which python來查看

  2 給該文件添加可執行的權限

    chmod  +x  test.py

  3 添加計劃任務

    crontab -e

    在文件中追加一行,*/2 * * * * /usr/bin/python /home/pc/work/ENV/project/test.py

    保存退出,:wq

  4 重啓cron服務

    service cron restart

  結束

執行報錯

ubuntu@ip-XXX:/var/log$ service cron restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'cron.service'.
Authenticating as: Ubuntu (ubuntu)
Password: 
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to restart cron.service: Access denied
See system logs and 'systemctl status cron.service' for details.
View Code

權限不足

sudo service crond restart

 

 

cron是一個linux下的定時執行工具,能夠在無需人工干預的狀況下運行做業。因爲Cron 是Linux的內置服務,但它不自動起來,能夠用如下的方法啓動、關閉這個服務:  
  
   /sbin/service crond start //啓動服務  
   /sbin/service crond stop //關閉服務  
   /sbin/service crond restart //重啓服務  
   /sbin/service crond reload //從新載入配置  

相關文章
相關標籤/搜索