[問題] crontab 一定要登入過才會啟動?

看板Linux作者 (XD)時間7年前 (2016/07/17 00:16), 編輯推噓1(1030)
留言31則, 6人參與, 最新討論串1/1
系統是剛裝好的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

07/17 01:48, , 1F
.sh也需要被啟動吧…
07/17 01:48, 1F

07/17 01:49, , 2F
譬如用bash去叫他…crontab如果要登入才啟動的話…
07/17 01:49, 2F

07/17 01:49, , 3F
那應該沒人會去用
07/17 01:49, 3F

07/17 09:47, , 4F
我也是這樣覺得,可是.sh有x權限了
07/17 09:47, 4F

07/17 09:48, , 5F
還是要寫/bin/bash /home/user/date.sh ?
07/17 09:48, 5F

07/17 10:48, , 6F
log有出嗎?
07/17 10:48, 6F

07/17 23:39, , 7F
Jul 17 23:31:00 server CRON[933]: (user) CMD (/hom
07/17 23:39, 7F

07/17 23:40, , 8F
e/user/date.sh) 有紀錄,但是卻沒有真的執行...
07/17 23:40, 8F

07/18 10:54, , 9F
真是太巧了,我今天早上也在用cron+date,也有問題
07/18 10:54, 9F

07/18 10:54, , 10F
百分比符號用反斜線跳脫掉就好了
07/18 10:54, 10F

07/18 11:01, , 11F
不過我沒有登入不登入的問題欸囧...
07/18 11:01, 11F

07/19 01:21, , 12F
Jul 19 01:19:29 server CRON[838]: (root) CMD
07/19 01:21, 12F

07/19 01:21, , 13F
(date > /home/user/date.txt) 直接改/etc/crontab
07/19 01:21, 13F

07/19 01:22, , 14F
log也出了,卻沒有用,這樣要怎麼修呢?@@
07/19 01:22, 14F

07/19 10:06, , 15F
有幾點請確認一下
07/19 10:06, 15F

07/19 10:06, , 16F
1. 你是 crontab -e 還是改 /etc/crontab ?
07/19 10:06, 16F

07/19 10:06, , 17F
基本上設定格式不同,後者需要多指定執行身份
07/19 10:06, 17F

07/19 10:07, , 18F
2. 你到底是用 crontab 執行外部的 shell script 檔案
07/19 10:07, 18F

07/19 10:07, , 19F
還是直接執行 date 命令?若是執行 shell script
07/19 10:07, 19F

07/19 10:08, , 20F
的話,手動打 /home/user/date.sh 可以執行嗎?結果對嗎
07/19 10:08, 20F

07/19 10:08, , 21F
3. 若你是直接在 crontab 內下 date 命令的話
07/19 10:08, 21F

07/19 10:09, , 22F
你是否有注意到 % 符號在 crontab -e 或 /etc/crontab
07/19 10:09, 22F

07/19 10:09, , 23F
是有特殊的用途,所以有沒有在 % 加上跳脫字元避開
07/19 10:09, 23F

07/19 11:53, , 24F
path 或是 % 符號的問題吧.
07/19 11:53, 24F

07/19 22:24, , 25F
有%要跳脫是前面板友的問題,我試過.sh檔和剛剛log寫
07/19 22:24, 25F

07/19 22:24, , 26F
的,直接@reboot root date > path是沒有作用的
07/19 22:24, 26F

07/19 22:25, , 27F
直接執行sh,或是設定時間且在時間到前已登入才會有效
07/19 22:25, 27F

07/22 10:45, , 28F
所以問一下,你設定每相隔一分鐘執行,會建立檔案嗎
07/22 10:45, 28F

07/22 10:45, , 29F
建立的檔案時間是哪時候的呢?會持續每分鐘後就改變嗎
07/22 10:45, 29F

07/25 16:10, , 30F
設定全都是*的話,重開機後故意等10分鐘不登入,
07/25 16:10, 30F

07/25 16:11, , 31F
仍然要在登入後才會看到date > path的檔案冒出來@@
07/25 16:11, 31F
文章代碼(AID): #1NYbtszY (Linux)