【CRONTAB定时任务】

安装

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容