系统是刚装好的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前重开机完成(未登入)却不会运作
[email protected]/*
.sh也需要被启动吧…譬如用bash去叫他…crontab如果要登入才启动的话…那应该没人会去用
我也是这样觉得,可是.sh有x权限了还是要写/bin/bash /home/user/date.sh ?
作者: obarisk (OSWALT) 2016-07-17 10:48:00
log有出吗?
Jul 17 23:31:00 server CRON[933]: (user) CMD (/home/user/date.sh) 有纪录,但是却没有真的执行...
真是太巧了,我今天早上也在用cron+date,也有问题百分比符号用反斜线跳脱掉就好了不过我没有登入不登入的问题欸囧...
Jul 19 01:19:29 server CRON[838]: (root) CMD(date > /home/user/date.txt) 直接改/etc/crontablog也出了,却没有用,这样要怎么修呢?@@
有几点请确认一下1. 你是 crontab -e 还是改 /etc/crontab ?基本上设定格式不同,后者需要多指定执行身份2. 你到底是用 crontab 执行外部的 shell script 档案还是直接执行 date 命令?若是执行 shell script的话,手动打 /home/user/date.sh 可以执行吗?结果对吗3. 若你是直接在 crontab 内下 date 命令的话你是否有注意到 % 符号在 crontab -e 或 /etc/crontab是有特殊的用途,所以有没有在 % 加上跳脱字符避开
有%要跳脱是前面板友的问题,我试过.sh档和刚刚log写的,直接@reboot root date > path是没有作用的直接执行sh,或是设定时间且在时间到前已登入才会有效
所以问一下,你设定每相隔一分钟执行,会建立档案吗建立的档案时间是哪时候的呢?会持续每分钟后就改变吗
设定全都是*的话,重开机后故意等10分钟不登入,仍然要在登入后才会看到date > path的档案冒出来@@