操作系统:Ubuntu 16
实验过程:
1. 首先,测试下面的命令是否有效:
2. 以上命令可以在待机的前提下,于20:31唤醒计算机,没问题。
3. 接着,把以上命令放到/etc/crontab文件中,让系统于20:22执行rtcwake命令,如下:
编辑好保存,手动待机(在20:22之前),静静的等到20:31。。。计算机一点反应都没有,始终没有唤醒,试了好多次都是如此。
4. tail 跟踪log(tail -f /var/log/cron.log ),日志如下:
Feb 23 20:20:02 hper-pc cron[689]: (*system*) RELOAD (/etc/crontab)
Feb 23 20:22:02 hper-pc CRON[5237]: (root) CMD (sudo rtcwake -t `date -d 20:31 +)
Feb 23 20:22:02 hper-pc CRON[5236]: (CRON) info (No MTA installed, discarding output)
请问这是怎么回事,如何解决,谢谢大神。
4 个解决方案
#1
把输出重定向:
22 20 * * * root sudo rtcwake -m no -t `date -d 20:31 +%s` >/dev/null 2>&1
crontab执行脚本时是不会直接输出错误信息,而是会以邮件的形式发送到邮箱里,如果没有安装邮件服务器,就会报这个错。
22 20 * * * root sudo rtcwake -m no -t `date -d 20:31 +%s` >/dev/null 2>&1
crontab执行脚本时是不会直接输出错误信息,而是会以邮件的形式发送到邮箱里,如果没有安装邮件服务器,就会报这个错。
#2
现在不是报错的问题,而是,为什么这条命令不执行的问题。
#3
可以这样理解:因为无法发送信息或者无法显示输出,所有命令无法执行。
输出重定向后仍无法执行吗 ?
#4
是的。输出重定向后也不行。
#1
把输出重定向:
22 20 * * * root sudo rtcwake -m no -t `date -d 20:31 +%s` >/dev/null 2>&1
crontab执行脚本时是不会直接输出错误信息,而是会以邮件的形式发送到邮箱里,如果没有安装邮件服务器,就会报这个错。
22 20 * * * root sudo rtcwake -m no -t `date -d 20:31 +%s` >/dev/null 2>&1
crontab执行脚本时是不会直接输出错误信息,而是会以邮件的形式发送到邮箱里,如果没有安装邮件服务器,就会报这个错。
#2
把输出重定向:
22 20 * * * root sudo rtcwake -m no -t `date -d 20:31 +%s` >/dev/null 2>&1
crontab执行脚本时是不会直接输出错误信息,而是会以邮件的形式发送到邮箱里,如果没有安装邮件服务器,就会报这个错。
现在不是报错的问题,而是,为什么这条命令不执行的问题。
#3
把输出重定向:
22 20 * * * root sudo rtcwake -m no -t `date -d 20:31 +%s` >/dev/null 2>&1
crontab执行脚本时是不会直接输出错误信息,而是会以邮件的形式发送到邮箱里,如果没有安装邮件服务器,就会报这个错。
现在不是报错的问题,而是,为什么这条命令不执行的问题。
可以这样理解:因为无法发送信息或者无法显示输出,所有命令无法执行。
输出重定向后仍无法执行吗 ?
#4
是的。输出重定向后也不行。