當我嘗試在未來的時間使用cron執行我的python腳本時,我發現有一個命令at,AFAIK,cron用於定期執行,但我的場景只在指定的時間內執行一次。 和我的問題是如何Python腳本的命令添加到, 也它有一些Python包控制在命令如何使用命令設置python腳本在指定時間執行
我開發的操作系統是Ubuntu的10.04清醒,我的產品服務器是Ubuntu的服務器10.04清晰版本。 其實,我想通過Python腳本在命令,該命令文件的變化可以在命令效果添加或刪除新的就業機會
當我嘗試在未來的時間使用cron執行我的python腳本時,我發現有一個命令at,AFAIK,cron用於定期執行,但我的場景只在指定的時間內執行一次。 和我的問題是如何Python腳本的命令添加到, 也它有一些Python包控制在命令如何使用命令設置python腳本在指定時間執行
我開發的操作系統是Ubuntu的10.04清醒,我的產品服務器是Ubuntu的服務器10.04清晰版本。 其實,我想通過Python腳本在命令,該命令文件的變化可以在命令效果添加或刪除新的就業機會
只是做
python FILE | at TIME > app.log
取代: 文件 - 你的.py文件(包括shebang)
TIME - 您的時間
我做你給的,它迴應我一個警告,到底是什麼? python /home/mlzboy/my/ide/test/c.py |現在+2分鐘> /home/mlzboy/haha.txt 警告:命令將使用/ bin/sh執行 作業6於Thu Sep 23 10:27:00 2010 – mlzboy 2010-09-23 02:27:07
@mizboy你有沒有shebang,看來對我來說,終端認爲你正在運行的是一個批處理腳本,無論是它或它指的是作爲批處理腳本運行該命令(在這種情況下它是bash,所以很好) – Zimm3r 2010-09-23 02:39:22
我已經添加1#!/ usr/bin/env python 2#encoding = utf-8在我的py腳本頂部 – mlzboy 2010-09-23 03:35:58
型man at
,這將解釋如何使用它添加Python腳本任務。每個系統的使用情況略有不同,所以沒有必要準確地告訴你。
這個工作對我的Linux機器:
echo python myscript | at 10:15
編輯:愚蠢的報價...
由於該男子頁說,在(相對於的cron例如)不尊重家當(在#!/usr/bin/env python
線)。它始終使用/bin/sh
來運行該文件。
所以爲了運行你可以選擇使用
echo python myscript.py | at 10:15
的建議通過@bstpierre或創建一個額外的文件Python腳本
myscript.sh:
python myscript.py
和那麼
at -f myscript.sh at 10:15
Shebangs不需要這種方式(但也不會傷害)。
我可以想到的這種奇怪行爲的一個合乎邏輯的解釋是'-f'標誌稍後出現,並且爲了保持向後兼容性,他們決定忽略shebang(否則在*處使用從stdin和從stdin讀取的相同命令啓動* '-f'指定的文件會給出不同的結果) – axil 2015-08-06 09:46:29
如果您編輯Q以添加完全跳過的關鍵信息(例如,您正在運行哪個**系統**!),我們將很樂意提供幫助。 (不,沒有我聽說過的Python包)。 – 2010-09-23 01:58:38