Linux定時任務實現每秒執行一次
以下僅為本人工作、學習過程中所接觸到的內容,不足之處請多包涵。
crontab定時任務最小周期為1分鍾,如果腳本的調度周期需要小於1分鍾,crontab就無法直接使用了,不過可以使用以下方法實現調度周期小於1分鍾的情況。
date >> /root/result.txt
為需要定時執行的命令(當然該語句可以換成其他腳本,如果需要的話),周期為1秒,分為兩步實現:
1、循環中實現1分鍾執行60次;
2、crontab定時任務每分鍾執行一次test.sh腳本
1、2步驟配合使用,就實現了date >> /root/result.txt
命令每秒執行一次的需求。
編寫/root/test.sh腳本
該方法適用於調度周期能被60整除的情況
#!/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命令
// 編輯crontab
crontab -e
// 添加定時任務
* * * * * sh /root/test.sh
或
*/1 * * * * sh /root/test.sh
實現結果
通過以上步驟,即可實現date >> /root/result.txt
命令每秒執行一次,測試結果如下:
涉及的其他知識
清空文件內容方式
方式一:
cat /dev/null > file.name
方式二:
這種方式會在文件中寫入一個空行
echo "" > file.name
方式三: 在 vi / vim 編輯狀態下,使用%d
清空
vim file.name
:%d
:wq
追加輸入到文件末尾
// > 添加內容,會刪除文件中的原來內容
date > /root/result.txt
// >> 在原文件末尾追加內容
date >> /root/result.txt
參考