回答
您立即執行該腳本,將其輸出發送到at
。您需要將腳本本身的名稱發送到at
:
echo /path/to/my/script | at now + 5 min
怎麼樣:
sleep 300 && /path/to/my/script
呀,這曲estion並不真正需要'at'。我建議你使用'&&'而不是';',這樣它可以被取消。 – 2010-10-18 23:40:11
不錯的增強傑克 – 2010-10-18 23:45:39
在更優雅的伊莫,因爲它不掛一個進程。 – Eddie 2012-02-27 19:57:21
命令是從左向右計算,所以首先你的腳本執行後,它的輸出將通過管道輸送到at命令,這是正常行爲。請看at man pages瞭解更多信息。
問題是,您正在運行腳本並將輸出管道輸送至at
命令。你需要做的是運行at
命令,將腳本路徑作爲參數。我不確定語法,但at -h
或man at
應該有所幫助。
at -f /path/to/my/script -t now +5 minutes
這應該儘可能安排腳本在特定時間運行。有關「at
」命令的更多信息,請嘗試linuxmanpages.com。我可能錯誤地認爲(目前不在linux系統上測試)。
好運反正
試試這個
sys.scheduled_run /path/to/my/script 5
主要功能
function sys.scheduled_run(){
local PATH_TO_ACTION MINS SLEEPTIME
PATH_TO_ACTION=$1
MINS=$2
SLEEPTIME=$(($MINS * 60))
echo "Sleeping for $MINS minute ($SLEEPTIME seconds) and then running $PATH_TO_ACTION"
ui.countdown $SLEEPTIME
$PATH_TO_ACTION
echo "Done"
if [ "REPEAT" == "$3" ]
then
echo "Going for Repeat"
sys.scheduled_run "[email protected]"
fi
}
倒計時功能
function ui.countdown(){ #USAGE ui.countdown 60 countdown for 60 seconds
local SECONDS=$1
local START=$(date +%s)
local END=$((START + SECONDS))
local CUR=$START
while [[ $CUR -lt $END ]]
do
CUR=$(date +%s)
LEFT=$((END-CUR))
printf "\r%02d:%02d:%02d" \
$((LEFT/3600)) $(((LEFT/60)%60)) $((LEFT%60))
sleep 1
done
echo " "
}
- 1. 5分鐘運行腳本一次(Linux)
- 2. 如何每5秒鐘運行一次shell腳本2分鐘?
- 3. 每分鐘運行腳本
- 4. PHP:在第一個腳本運行5分鐘後執行腳本
- 5. 運行循環5分鐘
- 6. 如何寫每10分鐘自動運行的bash腳本?
- 7. 運行bash腳本自動10分鐘後,當Codition失敗
- 8. 根據命令每5分鐘運行PHP腳本2小時
- 9. Debian:Cron bash腳本,每5分鐘一次lftp
- 10. 每20分鐘運行腳本
- 11. 每分鐘運行一次PHP腳本
- 12. 每x分鐘運行phantomjs腳本
- 13. 如何設置cron每40分鐘/ 25分鐘運行腳本?
- 14. 並行運行bash腳本?
- 15. 並行運行bash腳本
- 16. 從PHP腳本運行bash腳本
- 17. 運行python腳本的Bash腳本
- 18. Bash腳本運行php腳本
- 19. 從R腳本運行bash腳本
- 20. 讓程序運行5分鐘
- 21. 交友cron運行頁,每5分鐘
- 22. 運行bash腳本會
- 23. 從bash腳本運行javascript
- 24. 從java運行bash腳本
- 25. 從JVM運行bash腳本
- 26. 從bash運行Oracle腳本
- 27. bash腳本MYSQL運行?
- 28. 從php運行bash腳本
- 29. 運行BASH腳本文件
- 30. 在bash中運行腳本
而且downvoter會照顧解釋嗎? – 2010-10-19 04:23:44