crontab 一定要登入過才會啟動? - Linux

Table of Contents


系統是剛裝好的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在剛開機沒有登入時就會自動執行呢?

--

All Comments

Todd Johnson avatarTodd Johnson2016-07-21
.sh也需要被啟動吧…
Jessica avatarJessica2016-07-21
譬如用bash去叫他…crontab如果要登入才啟動的話…
那應該沒人會去用
Isabella avatarIsabella2016-07-23
我也是這樣覺得,可是.sh有x權限了
Hedwig avatarHedwig2016-07-26
還是要寫/bin/bash /home/user/date.sh ?
Steve avatarSteve2016-07-26
log有出嗎?
Valerie avatarValerie2016-07-28
Jul 17 23:31:00 server CRON[933]: (user) CMD (/hom
Robert avatarRobert2016-07-29
e/user/date.sh) 有紀錄,但是卻沒有真的執行...
Ingrid avatarIngrid2016-08-01
真是太巧了,我今天早上也在用cron+date,也有問題
百分比符號用反斜線跳脫掉就好了
Iris avatarIris2016-08-06
不過我沒有登入不登入的問題欸囧...
Genevieve avatarGenevieve2016-08-09
Jul 19 01:19:29 server CRON[838]: (root) CMD
(date > /home/user/date.txt) 直接改/etc/crontab
Skylar Davis avatarSkylar Davis2016-08-09
log也出了,卻沒有用,這樣要怎麼修呢?@@
Kama avatarKama2016-08-10
有幾點請確認一下
1. 你是 crontab -e 還是改 /etc/crontab ?
基本上設定格式不同,後者需要多指定執行身份
Andy avatarAndy2016-08-14
2. 你到底是用 crontab 執行外部的 shell script 檔案
還是直接執行 date 命令?若是執行 shell script
Kumar avatarKumar2016-08-19
的話,手動打 /home/user/date.sh 可以執行嗎?結果對嗎
3. 若你是直接在 crontab 內下 date 命令的話
Brianna avatarBrianna2016-08-22
你是否有注意到 % 符號在 crontab -e 或 /etc/crontab
是有特殊的用途,所以有沒有在 % 加上跳脫字元避開
Charlie avatarCharlie2016-08-23
path 或是 % 符號的問題吧.
Anonymous avatarAnonymous2016-08-24
有%要跳脫是前面板友的問題,我試過.sh檔和剛剛log寫
的,直接@reboot root date > path是沒有作用的
Kyle avatarKyle2016-08-28
直接執行sh,或是設定時間且在時間到前已登入才會有效
Hardy avatarHardy2016-08-31
所以問一下,你設定每相隔一分鐘執行,會建立檔案嗎
建立的檔案時間是哪時候的呢?會持續每分鐘後就改變嗎
Megan avatarMegan2016-09-01
設定全都是*的話,重開機後故意等10分鐘不登入,
Enid avatarEnid2016-09-05
仍然要在登入後才會看到date > path的檔案冒出來@@