Linux定時任務實現每秒執行一次


Linux定時任務實現每秒執行一次


如下僅爲本人工做、學習過程當中所接觸到的內容,不足之處請多包涵。html

crontab定時任務最小週期爲1分鐘,若是腳本的調度週期須要小於1分鐘,crontab就沒法直接使用了,不過能夠使用如下方法實現調度週期小於1分鐘的狀況。 date >> /root/result.txt爲須要定時執行的命令(固然該語句能夠換成其餘腳本,若是須要的話),週期爲1秒,分爲兩步實現: 一、循環中實現1分鐘執行60次; 二、crontab定時任務每分鐘執行一次test.sh腳本 一、2步驟配合使用,就實現了date >> /root/result.txt命令每秒執行一次的需求。linux

編寫/root/test.sh腳本

該方法適用於調度週期能被60整除的狀況vim

#!/bin/bash
step=1
for (( i = 0; i < 60; i = (i+step) )); do
    date >> /root/result.txt
    sleep $step
done

exit 0

配置定時任務

定時任務配置爲每隔1分鐘執行一次 若不瞭解定時任務如何添加,可參考Linux之crontab命令bash

// 編輯crontab
crontab -e
// 添加定時任務
* * * * * sh /root/test.sh
或
*/1 * * * * sh /root/test.sh

實現結果

經過以上步驟,便可實現date >> /root/result.txt命令每秒執行一次,測試結果以下: pic學習

涉及的其餘知識

清空文件內容方式

方式一:測試

cat /dev/null > file.name

方式二: 這種方式會在文件中寫入一個空行spa

echo "" > file.name

方式三: 在 vi / vim 編輯狀態下,使用%d清空code

vim file.name
:%d
:wq

追加輸入到文件末尾

// > 添加內容,會刪除文件中的原來內容
date > /root/result.txt
// >> 在原文件末尾追加內容
date >> /root/result.txt

參考htm

相關文章
相關標籤/搜索