安装
yum clean all
yum update
yum install -y cronie crontabs
systemctl status crond
#检查crond服务是否安装以及启动,&&前面命令执行成功后才会再去执行后面的命令
yum list cronie && systemctl status crond
#检查crontab工具是否安装
yum list crontabs && which crontab && crontab -l
编写定时任务
crontab -e
输入i开始编辑
* * * * * echo -e "this is a test output,每分钟执行一下" > /yangjun/test.out &
按esc,:wq保存退出
crontab -l
systemctl restart crond
systemctl status crond
crontab配置文件
系统配置 /etc/crontab
vi /etc/crontab
屏幕快照 2019-08-05 下午11.19.54.png
crontab -e 编辑的命令最终保存到 /var/spool/cron/ 目录下
#创建user01用户
useradd user01
#登录到user01
su - user01
#返回root用户
su -
环境变量
添加PATH到/etc/crontab
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk1.8.0_111/bin
在执行具体任务前引入系统/用户环境变量(推荐)
先导入环境变量,再执行sh脚本
30 2 * * * source /etc/profile;sh /root/test.sh (系统级别的环境变量)
30 2 * * * source ~/.bash_profile;sh /root/test.sh (用户级别的环境变量)
systemctl restart crond
示例
vi /etc/crontab
在PATH的最后添加:/usr/local/jdk1.8.0_111/bin
然后在最下面输入输出java版本的定时任务,见下图,按esc输入:wq保存退出
最后systemctl restart crond
屏幕快照 2019-08-05 下午11.39.02.png
添加java系统级别环境变量
vim /etc/profile在最下面输入
屏幕快照 2019-08-05 下午11.42.07.png
添加java用户级别环境变量
vim ~/.bash_profile
屏幕快照 2019-08-05 下午11.45.17.png
编写shell脚本
vi /yangjun/test.sh
java -version 2> /yangjun/script.out
按esc输入:wq保存退出
crontab -e
输入:
30 2 * * * source /etc/profile;sh /yangjun/test.sh
30 2 * * * source /root/.bash_profile;sh /yangjun/test.sh
先导入环境变量,再执行sh脚本
按esc输入:wq保存退出
systemctl restart crond