zoukankan      html  css  js  c++  java
  • 利用 crontab 來做 Linux 固定排程

    crontab 介紹

    crontab 是 Linux 內建的機制,可以根據設置的時間參數來執行例行性的工作排程。

    上述這張圖可以清楚的顯示出前五項參數應該要帶進去的數字。
    依序是分鐘, 小時, 日期, 月份, 星期, command
    參數為0-59, 0-23, 1-31, 1-21, 0-6, 需要執行的command

    ※ 月份參數為0代表星期日

    參數特殊字符意義

    【*】:星號,代表任何時刻都接受的意思
    【,】:逗號,代表分隔時段。例如:30 9,17 * * * command,代表早上9點半和下午五點半都執行 command。
    【-】:減號,代表一段時間範圍。例如:15 9-12 * * * command,代表從9點到12點的每個15分都執行 command。
    【/n】:斜線,n代表數字,表示每個 n 單位間隔。例如:*/5 * * * * command,代表每隔 5 分鐘執行一次 command。

    還有一些人性化的參數,一次取代全部五個數字參數

    【@reboot】 :僅在開機的時候執行一次。
    【@yearly】 :一年執行一次,和0 0 1 1 * command效果一樣。
    【@annually】:(和@yearly一樣)
    【@monthly】:一個月執行一次,和0 0 1 * * command效果一樣。
    【@weekly】:一個星期執行一次,和0 0 * * 0 command效果一樣。
    【@daily】:每天執行,和0 0 * * * command效果一樣。
    【@midnight】:(和@daily一樣)
    【@hourly】 :每小時執行,和0 * * * * command效果一樣。

    crontab 操作

    crontab 是會根據不同的使用者去判定可以操作的範圍。

    $ crontab -l: 列出該使用者擁有的 crontab 指令
    $ crontab -e: 編輯該使用者的 crontab 指令
    $ crontab -r: 將使用者的 crontab 全部清除!( 小心使用

    編輯完後就可以存檔離開,Linux 系統便會依照你設定的排程固定做事,非常方便。

    ※ 下達指令請用 絕對路徑 避免錯誤

    範例參考

    $ */5 * * * * /home/ubuntu/test.sh:每五分鐘執行一次測試 shell script
    $ 0 9 * * 1-6 node /home/ubuntu/workspace/report.js:每天早上九點(除了星期日)執行 report.js 這隻檔案

    reference

    Schedule Tasks on Linux Using Crontab
    鳥哥的 Linux 私房菜 例行性工作排程 (crontab)

  • 相关阅读:
    二进制数组
    model模块
    Decorator [ˈdekəreɪtə(r)] 修饰器/装饰器 -- 装饰模式
    箭头函数
    async [ə'zɪŋk] 函数
    cocos2d-x 事件分发机制 ——触摸事件监听
    算法:高速排序
    [zlib]_[0基础]_[使用Zlib完整解压zip内容]
    设计模式之状态模式(State)摘录
    编写Web Serviceclient訪问www.webxml.com.cn提供的服务
  • 原文地址:https://www.cnblogs.com/UnGeek/p/6211843.html
Copyright © 2011-2022 走看看