//===============centos 定时任务=================
yum -y update
yum -y install cronie yum-cron
//-------------------
crontab任务配置基本格式:
- * * * * command
第1列表示分钟0~59 每分钟用 * 或者 */1 表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0,7都可表示星期天)
第6列要运行的命令或执行shell脚本
//----------------------
a、crontab -e,添加如下内容:
*/1 * * * * sh && echo "dd" >> /logs/cron-cc.log
*/1 * * * * sleep 30 && echo "cc" >> /logs/cron-cc.log
b、重启crond
systemctl reload crond
systemctl restart crond
c、查看当前用户定时任务
crontab -l
d、通过日志查看是否生效
tail -f /logs/cron-cc.log
//---------------------
案例一:每隔10秒执行一次
crontab设置的最小时间为每分钟,实现以秒为单位进行定时任务执行。
*/1 * * * * sh /root/shell/aa.sh
*/1 * * * * sleep 10 && sh /root/shell/aa.sh
*/1 * * * * sleep 20 && sh /root/shell/aa.sh
*/1 * * * * sleep 30 && sh /root/shell/aa.sh
*/1 * * * * sleep 40 && sh /root/shell/aa.sh
*/1 * * * * sleep 50 && sh /root/shell/aa.sh
注意:aa.sh为执行脚本
案例二:每隔20秒执行一次
*/1 * * * * sh /root/shell/aa.sh
*/1 * * * * sleep 20 && sh /root/shell/aa.sh
*/1 * * * * sleep 40 && sh /root/shell/aa.sh
注意:aa.sh为执行脚本
案例三:每隔5分钟执行一次
*/5 * * * * sh /root/shell/echo.sh
// 每天凌晨1点执行
0 1 * * * /home/testuser/test.sh
//-----------------------------------------------
查看当前用户定时任务
crontab -l
调用/var/spool/cron/目录下相关用户的定时任务信息
查看定时任务日志
tail -f /var/log/cron
systemctl status crond.service
systemctl start crond.service
systemctl stop crond.service
systemctl restart crond.service
systemctl reload crond.service
把cron服务加入linux开机自启动
systemctl enable crond.service
systemctl is-enabled crond.service
crond后台的工作情况并过滤出来
ps -ef |grep crond|grep -v grep
//---------------------------------------------
注意:
路径问题
有些脚本涉及到文件操作,文件路径不正确也会导致脚本无法正常执行,建议使用绝对路径,或者在执行脚本时,先进入该脚本的路径下,在执行。Crontab的command配置如下:
*/1 * * * * cd /root/shell && ./cron.sh
备注
centos中手动执行python脚本没问题,crontab中执行报错的解决方法
1、执行env指令得到当前的用户环境变量。
XDG_SESSION_ID=1850
HOSTNAME=localhost.localdomain
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.12.39 60607 22
CONDA_SHLVL=1
CONDA_PROMPT_MODIFIER=(base)
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/1
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
CONDA_EXE=/root/anaconda3/bin/conda
_CE_CONDA=
MAIL=/var/spool/mail/root
PATH=/root/anaconda3/bin:/root/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
CONDA_PREFIX=/root/anaconda3
PWD=/home/login
LANG=zh_CN.UTF-8
SELINUX_LEVEL_REQUESTED=
_CE_M=
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
CONDA_PYTHON_EXE=/root/anaconda3/bin/python
LOGNAME=root
XDG_DATA_DIRS=/root/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
SSH_CONNECTION=192.168.12.39 60607 192.168.12.60 22
CONDA_DEFAULT_ENV=base
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/0
_=/usr/bin/env
OLDPWD=/home
2、将PATH环境变量添加到crontab的第一行,如下图所示。
PATH=/root/anaconda3/bin:/root/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
*/5 * * * * sh /home/login/EnterpircePermission_action.sh
每个月的1号,11号,21号,31号,执行HTTP服务重启
0 0 */10 * * /etc/init.d/apache2 restart
网友评论