1. 程式人生 > >ubuntu使用crontab啟動定時任務

ubuntu使用crontab啟動定時任務

ron 完整 min blog xxx tar net 範圍 -a

Ubuntu cron 定時執行任務

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

參考以上兩篇博客,經過實踐完成自己的定時任務

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支持類似正則表達式的書寫,支持如下幾個特殊符號定義:

  “*” ,代表所有的取值範圍內的數字;
  “/” , 代表”每”(“*/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目錄中的所有可執行文件*/

新增 cron 任務

1.執行如下命令添加任務

  # crontab -e

2. 重啟cron 服務

  # service cron restart

總結:

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

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

    #!/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 cron restart

ubuntu使用crontab啟動定時任務