开启 crontab 日志
crontab 默认情况下是不执行开启日子的,所以一开始写完后,不能执行,想查看日志,却找不到。所以先开启定时任务的日志来查看
修改 rsyslog 服务,将 /etc/rsyslog.d/50-default.conf 文件中的 #cron.* 前的 # 删掉;用以下命令重启 rsyslog 服务:
service rsyslog restart
然后再重启 crontab 服务:
service cron restart
网上很多人说开启,停止或者重启 contab 服务用命令 service crond restart,执行这个命令会报出 unrecognised service ,这里吧 crond 改成 cron 就可以了。
之后,在这个位置 /var/log/cron.log 就可以查看定时任务的文件日志文件了
下面这个命令还可以查看 crontab 的状态
service cron status
查看运行时的日志文件,如果在日志文件中执行一条语句后出现:
No MTA installed, discarding output
则 crontab 执行脚本时是不会直接错误的信息输出,而是会以邮件的形式发送到邮箱里,需要邮件服务器了,如果没有安装邮件服务器,它就会报这个错。
可以在每条定时脚本后面加入:
>/dev/null 2>&1
即将所有信息输入到 linux 系统中的空设备/dev/null 中。
即可解决 No MTA installed, discarding output 的问题。
写定时任务
通过如下命令,就可以开启本用户的定时文件,文件存放在 /var/spool/cron/crontabs 文件夹下
并且以用的的名字命名的文件
crontab -e
可以通过以下命令列出某个用户 cron 服务的详细内容
crontab -l
在最终能用之前我还运行过以下命令,是给 root 赋权限。但是在我最终能运行时,我不知道这条命令有没有起作用。不过还是先写上。运行后需要重启 crontab 服务
crontab -u root /var/spool/cron/crontabs/root
/etc/cron.deny 表示不能使用 crontab 命令的用户
/etc/cron.allow 表示能使用 crontab 的用户。
如果两个文件同时存在,那么/etc/cron.allow 优先
如果两个文件都不存在,那么只有超级用户可以安排作业。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于