2019年5月6日 星期一

[linux] crontab 使用 python virtualenv 環境


如何在 cron 中使用 python  virtualenv 呢?


chmod +x /home/peicheng/t.sh

0 */2   *   *   * . /home/peicheng/env/19env/bin/activate && /home/peicheng/t.sh /tmp/log 2>&1


使用 . activate 與 && 串聯指令

cmd1 && cmd21. 若 cmd1 執行完畢且正確執行($?=0),則開始執行 cmd2。
2. 若 cmd1 執行完畢且為錯誤 ($?≠0),則 cmd2 不執行。

ref
如果指令沒有相依性 可以使用 ; 分號串接
  • cmd ; cmd (不考慮指令相關性的連續指令下達)
在某些時候,我們希望可以一次執行多個指令,例如在關機的時候我希望可以先執行兩次 sync 同步化寫入磁碟後才 shutdown 電腦,那麼可以怎麼作呢?這樣做呀:
[root@study ~]# sync; sync; shutdown -h now
在指令與指令中間利用分號 (;) 來隔開,這樣一來,分號前的指令執行完後就會立刻接著執行後面的指令了。 這真是方便啊~再來,換個角度來想,萬一我想要在某個目錄底下建立一個檔案,也就是說,如果該目錄存在的話, 那我才建立這個檔案,如果不存在,那就算了。也就是說這兩個指令彼此之間是有相關性的, 前一個指令是否成功的執行與後一個指令是否要執行有關!那就得動用到 && 或 || 囉!

沒有留言:

張貼留言