解决ubuntu下定时任务不执行问题
1、首先创建一个定时任务:每分钟向屏幕输出"Hello world!"。
有两种实现方式:
1)输入crontab -e命令,根据提示直接在当前cron task文本最后面插入如下命令(记得回车):
* * * * * echo "Hello world!"
2)由于每个用户的定时任务都在/var/spool/cron/crontabs目录下有个与用户名一致的任务文件,因此也可以通过vim直接编辑:
sudo vim /var/spool/cron/crontabs/waterfronter #注:waterfronter为当前用户名
同样在文件末行插入:
* * * * * echo "Hello world!"
保存退出,并通过crontab -l查看定时任务创建成功。
2、然后等待,若干分钟后发现屏幕并未输出"Hello world!"怎么回事?!
1)刚开始怀疑是cron服务没有启动,遂执行:
sudo service cron status
发现cron服务是running的,排除;
2)继而怀疑是任务文件创建后未能被系统及时get到,因而执行:
sudo service cron restart
重启cron后问题依旧,排除;
3)于是进一步查看cron运行日志(/var/log/cron.log),但是并未找到相关文件,原因是ubuntu默认没有开cron日志,执行命令:
sudo vim /etc/rsyslog.d/50-default.conf
找到cron.log相关行,将前面注释符#去掉,保存退出,重启rsyslog:
sudo service rsyslog restart
执行less -10 /var/log/cron.log再次查看cron运行日志,log出来了,提示如下信息:
No MTA installed, discarding output
原因是cron把屏幕输出都发送到email了,而当前环境并未安装email server,于是系统报错,解决方面就是不要直接向屏幕输出内容,而是重定向到一个文件。
3、修改任务文件
sudo vim /var/spool/cron/crontabs/waterfronter
将末行改为:
* * * * * echo "Hello world!" >> /tmp/cron_log.txt
保存退出,同时reload cron服务:
sudo service cron reload
若干分钟后查看/tmp/cron_log.txt,“Hello world!”每隔一分钟输出一次,问题解决。
相关文章
- 【Ubuntu】ubuntu物理机安装方法:U盘安装
- 激活Win10内置版Linux (ubuntu)
- Ubuntu上搭建Hadoop环境(伪分布式)
- Ubuntu 的UML工具
- Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构
- ubuntu中执行定时任务crontab
- 关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案
- ubuntu 14.04使用root登陆出现错误“Error found when loading /root/.profile”解决
- Ubuntu执行su后输入密码结果认证失败--解决办法:sudo passwd修改命令
- Ubuntu 下用命令行快速打开html,mp3等文件
- Ubuntu通用命令大全
- 安装ubuntu 进行换阿里源 修改语言 添加nfs ssh服务 vim软件设置 搭建xshell6的访问 添加 交叉编译器 qemu 遍地是图, 新手易上手
- ubuntu编译itk
- Ubuntu Git安装与使用
- ubuntu 16.04 tightvncserver VNC 安装配置,安装xrdp,x11vnc、Ubuntu 18.04
- Ubuntu 编译安装ffmpeg,mplayer,x264全教程支持VDPAU(高清硬解)
- Linux Ubuntu环境下 Intel Realsense D435I 驱动+ROS驱动安装配置
- centos/ubuntu arm版编译安装redis 稳定版 —— 筑梦之路