看板 Linux 關於我們 聯絡資訊
系統是剛裝好的Ubuntu 16.04 $ crontab -e加入45 23 * * * /home/user/date.sh date.sh內容只有: #!/bin/bash date "+%H%M%S" > /home/user/date.txt 但是在23:45前重開機完成(未登入)卻不會運作 就算使用@reboot卻也無法運作 不過如果已經登入了,或只是登入過 再等時間到,就會順利執行 請問 要怎麼讓cron在剛開機沒有登入時就會自動執行呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.214.48.93 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1468685814.A.F62.html
kenwufederer: .sh也需要被啟動吧… 07/17 01:48
kenwufederer: 譬如用bash去叫他…crontab如果要登入才啟動的話… 07/17 01:49
kenwufederer: 那應該沒人會去用 07/17 01:49
snes6303st: 我也是這樣覺得,可是.sh有x權限了 07/17 09:47
snes6303st: 還是要寫/bin/bash /home/user/date.sh ? 07/17 09:48
obarisk: log有出嗎? 07/17 10:48
snes6303st: Jul 17 23:31:00 server CRON[933]: (user) CMD (/hom 07/17 23:39
snes6303st: e/user/date.sh) 有紀錄,但是卻沒有真的執行... 07/17 23:40
gemini6479: 真是太巧了,我今天早上也在用cron+date,也有問題 07/18 10:54
gemini6479: 百分比符號用反斜線跳脫掉就好了 07/18 10:54
gemini6479: 不過我沒有登入不登入的問題欸囧... 07/18 11:01
snes6303st: Jul 19 01:19:29 server CRON[838]: (root) CMD 07/19 01:21
snes6303st: (date > /home/user/date.txt) 直接改/etc/crontab 07/19 01:21
snes6303st: log也出了,卻沒有用,這樣要怎麼修呢?@@ 07/19 01:22
kenduest: 有幾點請確認一下 07/19 10:06
kenduest: 1. 你是 crontab -e 還是改 /etc/crontab ? 07/19 10:06
kenduest: 基本上設定格式不同,後者需要多指定執行身份 07/19 10:06
kenduest: 2. 你到底是用 crontab 執行外部的 shell script 檔案 07/19 10:07
kenduest: 還是直接執行 date 命令?若是執行 shell script 07/19 10:07
kenduest: 的話,手動打 /home/user/date.sh 可以執行嗎?結果對嗎 07/19 10:08
kenduest: 3. 若你是直接在 crontab 內下 date 命令的話 07/19 10:08
kenduest: 你是否有注意到 % 符號在 crontab -e 或 /etc/crontab 07/19 10:09
kenduest: 是有特殊的用途,所以有沒有在 % 加上跳脫字元避開 07/19 10:09
rickieyang: path 或是 % 符號的問題吧. 07/19 11:53
snes6303st: 有%要跳脫是前面板友的問題,我試過.sh檔和剛剛log寫 07/19 22:24
snes6303st: 的,直接@reboot root date > path是沒有作用的 07/19 22:24
snes6303st: 直接執行sh,或是設定時間且在時間到前已登入才會有效 07/19 22:25
kenduest: 所以問一下,你設定每相隔一分鐘執行,會建立檔案嗎 07/22 10:45
kenduest: 建立的檔案時間是哪時候的呢?會持續每分鐘後就改變嗎 07/22 10:45
snes6303st: 設定全都是*的話,重開機後故意等10分鐘不登入, 07/25 16:10
snes6303st: 仍然要在登入後才會看到date > path的檔案冒出來@@ 07/25 16:11