cron 秒級控制

Codcodog發表於2019-01-24

場景

使用 crontab 每隔5秒執行一個指令碼

糾正

crontab 最小排程單位是「分鐘」,沒法控制到「秒」.

*/5 * * * * /path/to/script

這裡的 / 是指「步長」,意思是每隔5分鐘執行一次指令碼.

crontab 詳細用法參考:Crontab 用法

方案

方案一

編寫指令碼

$ cat cron_seconds.sh
#!/usr/bin/env bash

while true; do
  SCRIPT # 指令碼的執行路徑
  sleep 5
done

cron 定時任務設定

* * * * * /path/to/cron_seconds.sh

方案二

$ crontab -l
* * * * * /path/to/script
* * * * * sleep 5;/path/to/script
* * * * * sleep 10;/path/to/script
* * * * * sleep 15;/path/to/script
* * * * * sleep 20;/path/to/script
* * * * * sleep 25;/path/to/script
* * * * * sleep 30;/path/to/script
* * * * * sleep 35;/path/to/script
* * * * * sleep 40;/path/to/script
* * * * * sleep 45;/path/to/script
* * * * * sleep 50;/path/to/script
* * * * * sleep 55;/path/to/script

如果覺得不錯,可以給我一個 STAR.

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章