crontab

linux环境进程开机自检脚本

这一生的挚爱 提交于 2019-12-21 00:09:51
Linux下shell脚本监控Tomcat的状态并实现自动启动 最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,就没有考虑用Java代码写了,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤。 1编写Shell脚本monitor.sh: 此脚本代码参考于 张小凡vip 的博客 https://blog.csdn.net/zzq900503/article/details/50723191 #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # author:EagleHao # date:2018-04-08 # DEFINE # 获取tomcat进程ID(其中[grep -w 'tomcat']代码中的tomcat需要替换为你的tomcat文件夹名) TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat'|grep -v 'grep'|awk '{print $2}') # tomcat启动程序(这里注意tomcat实际安装的路径) StartTomcat=/usr/local/tomcat/bin/startup.sh TomcatCache=/usr/local

crontab入门及进阶学习笔记

僤鯓⒐⒋嵵緔 提交于 2019-12-21 00:09:39
crontab不是通常意义下的linux指令,它更是一个配置工具。通过这个工具,我们可以为系统定制固定周期的任务。 1、crond和crontab 1) crond:cron服务的守护进程,用于定期调度。 2) crontab:cron提供的UI,用于编辑调度计划。 2、crontab指令: crontab –e:编辑已有定期调度任务,注意:该指令会启动vi编辑器进行任务编辑。 crontab –l:显示已有定期调度任务。 3、cron任务格式: 使用crontab –e编辑定期调度任务时,实际上可以理解为编辑一个配置文件,通过这个文件定义要执行哪些定期任务,执行的周期如何。 编辑过程可以理解为:进入vi编辑界面,以一个工作代表一行来编辑,然后输入“:wq”保存即可。每项工作(每行)具有六个字段,各字段意义如下表所示,六个字段依次表示分钟、小时、天、月、周和要执行的shell命令。 代表意义 分钟 小时 日期 月份 周 指令 数字范围 0-59 0-23 1-31 1-12 0-7 指令 4、 特殊字符的使用: cron任务中,有时需要设置较为复杂的任务处理逻辑,此时可能会用到如下特殊字符: 特殊字符 代表意义 *(星号) 代表任何时候都接受。例如:30 10 * * * command中,day,month和week均为“*”,表示无论哪一天、哪个月、周几

linux 计划任务

我与影子孤独终老i 提交于 2019-12-21 00:09:23
任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类: 1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。 一、任务调度设置文件的写法 其格式如下: Minute Hour Day Month Dayofweek command 分钟 小时 天 月 天每星期 命令 每个字段代表的含义如下: Minute 每个小时的第几分钟执行该任务 Hour 每天的第几个小时执行该任务 Day 每月的第几天执行该任务 Month 每年的第几个月执行该任务 DayOfWeek 每周的第几天执行该任务 Command 指定要执行的程序 在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。 举例如下: 1、指定每小时的第5分钟执行一次ls命令 5 * * * * ls 2、指定每天的 5:30 执行ls命令 30 5 * * * ls 3、指定每月8号的7:30分执行ls命令

配置Linux任务计划

陌路散爱 提交于 2019-12-21 00:09:04
Linux有三种计划任务:   at:指定一个时间执行一个任务 (适用一个或多个任务,执行一次后就不用)   cron:根据一个时间表自动执行任务 (使用一个或多个任务,周期性执行)   系统级别的计划任务及其扩展anacron:在一个指定时间间隔错过后自动执行任务    一、at服务:安排一个任务在未来执行,需要一个atd的系统后台进程   #at now+2 minutes 回车   >输入要执行的命令   >ctrl+d 结束输入   atq;查询当前的等待任务   用atq来查询,已经运行的任务,就消失了。这就是at计划任务的重点,只运行一次   atrm:删除等待任务   启动计划任务后,如果不想启动设定好的计划任务可以使用atrm命令删除。   格式:atrm 任务号   命令后面跟计划任务编号,如果不跟,就会删除这个用户所有的计划任务。   还可以进入到/var/spool/at目录里把计划任务删除,计划任务的文件都保存在该目录里,可以用rm -f 文件名来删除(以文件的形式删除计划任务,因为计划任务是以文件形式保存在该目录中)   在通常情况下,超级用户都可以使用这个命令。对于其他用户来说,能否可以使用就取决于两个文件:/etc/at.allow和/etc /at.deny   如果你要让哪个用户不能使用计划任务,就直接把他的用户名写进去就可以了,一排只能写一个。

配置Linux任务计划

江枫思渺然 提交于 2019-12-21 00:08:40
Linux有三种计划任务:   at:指定一个时间执行一个任务 (适用一个或多个任务,执行一次后就不用)   cron:根据一个时间表自动执行任务 (使用一个或多个任务,周期性执行)   系统级别的计划任务及其扩展anacron:在一个指定时间间隔错过后自动执行任务    一、at服务:安排一个任务在未来执行,需要一个atd的系统后台进程   #at now+2 minutes 回车   >输入要执行的命令   >ctrl+d 结束输入   atq;查询当前的等待任务   用atq来查询,已经运行的任务,就消失了。这就是at计划任务的重点,只运行一次   atrm:删除等待任务   启动计划任务后,如果不想启动设定好的计划任务可以使用atrm命令删除。   格式:atrm 任务号   命令后面跟计划任务编号,如果不跟,就会删除这个用户所有的计划任务。   还可以进入到/var/spool/at目录里把计划任务删除,计划任务的文件都保存在该目录里,可以用rm -f 文件名来删除(以文件的形式删除计划任务,因为计划任务是以文件形式保存在该目录中)   在通常情况下,超级用户都可以使用这个命令。对于其他用户来说,能否可以使用就取决于两个文件:/etc/at.allow和/etc /at.deny   如果你要让哪个用户不能使用计划任务,就直接把他的用户名写进去就可以了,一排只能写一个。

linux下的定时任务

不羁的心 提交于 2019-12-21 00:08:25
crontab命令 被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 语法 crontab(选项)(参数) 选项 -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该用户的计时器设置; -u<用户名称>:指定要设定计时器的用户名称。 参数 crontab文件:指定包含待执行任务的crontab文件。 知识扩展 Linux下的任务调度分为两类: 系统任务调度 和 用户任务调度 。 系统任务调度: 系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在 /etc 目录下有一个crontab文件,这个就是系统任务调度的配置文件。 /etc/crontab 文件包括下面几行: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=""HOME=/ # run-parts 51 * * * * root run-parts /etc/cron.hourly 24 7 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron

linux 任务调度 系统任务调度

丶灬走出姿态 提交于 2019-12-21 00:08:10
linux at 针对运行一次的任务 crontab 控制计划任务的命令 crond系统服务 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程, 与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具, 并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务, 如果有要执行的任务,则自动执行该任务。 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。 用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。 使用者权限文件 /etc/cron.deny 说明: 该文件中所列用户不允许使用crontab命令 文件: /etc/cron.allow 说明: 该文件中所列用户允许使用crontab命令 crontab 文件的含义: 用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month

linux进程管理-定时定期执行任务

末鹿安然 提交于 2019-12-21 00:07:23
0.计划任务的命令:   at  安排作业在某一时刻执行    batch  安排作业在系统负载不重时执行    crontab 安排周期性运行的作业    1.at命令用法:   安排命令或者多个命令在指定的时间运行一次  语法;   at [-f filename] 时间   at -d or atrm 删除队列中的任务   at -l 或者 atq 查看队列中的任务 1.1 at指定时间的方式 ( 前提是开启atd服务,所以需要查看系统是否开启atd服务 ) 绝对计时方法;   midnight noon teatime   hh:mm[today]   hh:mm tomorrow   hh:mm 星期   hh:mm MM/DD/YY 相对计时方法:   now +n minutes   now +n hours   now +n days 例如: 1.2  at用法: 1.安排定时任务 例如:10分钟以后发个广播: [root@iz2ze46xi6pjjj69ailg9lz ~]# at now +10 minutes #用相对时间 at> /usr/bin/wall < /etc/motd<EOT>      #输入命令之后Ctrl+D保存任务 注意:    (1)命令要用绝对路径。   (2)能使用at定时任务的前提是开启atd服务

Linux之例行(任务调度)

爱⌒轻易说出口 提交于 2019-12-21 00:06:59
一. 例行命令之at 1.1 at 仅执行一次就从Linux任务中取消 1.2 at 指令可以将工作命令写入工作记录文件,工作记录文件默认存放在/var/spool/at目录内 1.3 at 工作启动后,权限查找顺序: · 首先查找/etc/at.allow这个文件,写在该文件内的用户才能使用at,没有在这个文件中则不能使用at · 若没有/etc/at.allow就寻找/etc/at.deny · 如果两个文件中都不存在的用户,那么就只有root用户才能使用 1.4 at [-m] TIME 参数: -m 当at工作完成后,以emai的方式通知工作已完成 -TIME 时间格式,可以定义出什么时候要进行at工作,时间格式有: (1) HH:MM example: 08:30 则at工作会在今天的HH:MM进行,若该时刻以超时,则在明天的此刻会进行 (2) HH:MM YYYY-MM-DD example: 08:21 2016-4-11 强调规定在某年某月某天的特殊时刻进行该工作 (3) HH:MM[am|pm][month][Date] example: 09am October 7 强调在某年某月某日的某时刻进行 (4) HH:MM[am|pm]+number[minutes|hours|days|weeks] example: now + 5minutes; example:

Cron and Crontab files not executed in Docker

牧云@^-^@ 提交于 2019-12-20 23:21:12
问题 I have this simple Dockerfile for testing, but this is also same in my LEMP stack in a PHP image: cron jobs simply not being executed in Docker. This is my testing Dockerfile: FROM debian:latest MAINTAINER XY <info@domain.com> LABEL Description="Cron" Vendor="Istvan Lantos" Version="1.0" RUN apt-get -y update && apt-get -y dist-upgrade \ && apt-get -y install \ cron \ rsyslog \ vim RUN rm -rf /var/lib/apt/lists/* #cron fixes RUN touch /etc/crontab /etc/cron.d/* /var/spool/cron/crontabs/*