2012-03-12 79 views
6

我是新手,使用幾種語言編寫了Babel文件。我希望這個文件能夠每天在遠程服務器上運行組織文件中的代碼 - 我不認爲這很重要。Emacs:通過crontab對組織模式文件進行批處理

我想用cron來做。我試圖像

的crontab的emacs -batch -l my_file.org

+2

是'crontab emacs -batch -l my_file.org'你在命令行鍵入的是什麼?如果是這樣,請首先閱讀'man crontab',因爲這對我所見過的任何系統來說都不是有效的調用。您需要確保在cron運行時知道在哪裏可以找到emacs和您的組織文件,因此在crontab條目中使用絕對路徑可能是一個好主意。 – phils 2012-03-12 21:46:05

+0

歡迎來到計算器!沒有必要用名字或稱呼來簽署你的文章。 – cm2 2012-03-13 01:16:23

回答

2

的組織手冊第14.12將是批量執行一個很好的切入點。 其在線版本可在http://orgmode.org/manual/Batch-execution.html找到。 它介紹了一個使用org-babel-tangle的示例,因此您可能想用自己的函數替換org-babel-tangle

2

我有這樣的crontab中:

emacs -batch -l ~/.emacs -eval '(org-batch-agenda "w")' > ~/org/aux/agenda-export.txt 

它使用我已經建立了一個自定義的議程(C-c a w在org-模式),並出口到一個文本文件中。然後我通過conky調用該文件在我的壁紙上顯示我的日程。

你解決了嗎?

%的評論,你會希望通過這樣做:

crontab -e 

這打開了你的crontab文件進行編輯。添加執行時間線(分鐘小時月份的星期幾)和要運行的命令(從emacs ...開始),並且應該設置。如果您不熟悉,請參閱the crontab man page瞭解更多詳情)。

基本上,要弄清楚如何通過命令行成功執行org命令,然後通過crontab -e將其添加(前面加上告訴cron何時運行的列)。