crontab

Linux crontab 定时任务

可紊 提交于 2020-03-09 14:48:25
crontab 定时任务命令 linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。 cat /etc/crontab # 查看配置信息 PS:如果命令不生效,使用 which 查看命令的执行路径 系统调度的任务一般存放在/etc/crontab这个文件下,里面存放了一些系统运行的调度程序 通过命令我们可以看一下里面的内容:cat /etc/crontab /etc/crontab文件包括下面几行: cat /etc/crontab SHELL=/bin/bash # 第一行SHELL变量指定了系统要使用哪个shell,这里是bash, PATH=/sbin:/bin:/usr/sbin:/usr/bin # 第二行PATH变量指定了系统执行 命令的路径 MAILTO=root # 第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户 MAILTO=HOME=/ # 第四行的HOME变量指定了在执行命令或者脚本时使用的主目录 # run-parts #

linux 定时任务

我们两清 提交于 2020-03-08 09:29:47
习惯了使用 windows 的计划任务, 使用 linux 中的 crontab 管理定时任务 时很不适应 。 所以把基本的用法总结如下。 创建一个简单的定时任务 每分钟输出一次当前的时间,输出到用户家目录下的 time.log 文件中。 $ crontab -e * * * * * echo `date` >> /home/xxx/time.log crontab 程序的路径为 /usr/bin/crontab。 每个用户的定时任务可以在 /var/spool/cron/crontabs/ 目录下查询到。 需要使用root权限才能进入这个目录。每个以用户名命名的文件中记录着该用户的定时任务。 注意,不要使用 vi 直接编辑这些文件。 cron 运行的每一项工作都会被纪录到 /var/log/cron 这个登录档中,但是 Ubuntu 默认关闭了cron 的 log。 打开的方式为:打开 rsyslog 服务的配置文件 $ sudo vim /etc/rsyslog.d/50-default.conf 将下面一行中前面的注释符去掉 cron.* /var/log/cron.log 重启 rsyslog $ sudo service rsyslog restart 现在就可以看到 /var/log/cron 文件了,查看该文件是解决定时任务出错的重要途径。 控制用户运行定时任务

ubuntu crontab 设置定时重启失败

泄露秘密 提交于 2020-03-07 17:49:20
1.设置定时重启 crontab ../crontab/root //直接将root 文件写入计划任务 产看计划任务已经添加成功但是没有重启. 原因: 普通用户没有reboot权限,要root用户添加添加才能制定重启命令 reboot要完整路径,在计划任务填写完成的命令,或者脚本的完全路径,调用脚本要给可执行权限 2 15 * * * /sbin/reboot 来源: CSDN 作者: iotcsdn 链接: https://blog.csdn.net/weixin_42627035/article/details/104716353

ubuntu使用crontab定时java任务

孤街浪徒 提交于 2020-03-07 17:17:17
每个用户都可以使用 crontab 设置定时任务 每个用户的crontab文件都被保存在/var/spool/cron/crontabs目录中,其文件名与用户名一致 使用crontab -e编辑定时任务 星号(*):代表所有可能的值,如month字段为星号,则表示在满足其它字段的制约条件后每月都执行该命令操作 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次 0 1 * * * /home/sun/program/copperspider/run.sh >/dev/null 2>&1 由于 crontab 很多环境变量不会加载,使用shell脚本增加环境变量并执行java程序 #!/bin/sh JAVA_HOME=/opt/jdk1.8.0_221 PATH=$JAVA_HOME/bin:$PATH export PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CLASSPATH cd /home/sun/program/copperspider java -jar

Linux 定时运行脚本、命令

喜你入骨 提交于 2020-03-07 13:37:02
今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows略微复杂一些(因为没有图形界面嘛),但是也不是很复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的使用方法: 首先 查看一下/etc/crontab文件: $ cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 前四行是有关设置cron任务运行的环境变量。SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),PATH变量定义了执行命令的路径。Cron的输出以电子邮件的形式发给M A ILTO变量定义的用户名。如果MAILTO变量定义为空字符串(MAILTO="

linux-crontab定时执行任务

家住魔仙堡 提交于 2020-03-05 16:08:55
最近碰到一个关于 crontab 的问题。 1. 事因 服务器部署了一个 C++ 查询数据库词库的服务,以及 Java 发送目标词的服务, Java 服务通过 soket 长连接向 C++ 服务发送目标单词,然后 C++ 服务返回数据库中是否存在的结果。 期间,由于数据库有时增加单词需要重启服务,手写了个定时脚本来重启该 C++ 服务。 某一次为了调试,把改定时脚本关了,通过 ps -ef |grep xxx 命令查看服务父子进程情况,发现父进程还是每隔十分钟退出,服务会重启,想了许久不知道哪出了问题。 最后询问运维才想起,之前还用了 linux 自带的 crontab 设置过每隔十分钟重启服务,没有删除 crontab 里面的那条设置。 所以我们就来学习一下 linux 自带的可设置定时指定任务的 crontab 。 2. 初识crontab cron 是一个服务进程, cron 服务提供 crontab 命令来设定 cron 服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务 crontab -e //编辑某个用户的cron服务 3. 基本用法 基本格式 : * * * *

Linux 设置定时任务crontab命令

匆匆过客 提交于 2020-03-05 09:32:54
一、crontab命令概念   crontab命令用于设置周期性被执行的指令 。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。 cron 系统调度进程 。 可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。cron是系统主要的调度进程,可以在无需人工干预的情况下运行作业。   crontab命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个crontab文件来保存调度信息。系统管理员可以通过cron.deny 和 cron.allow 这两个文件来禁止或允许用户拥有自己的crontab文件。 二、检查是否安装了crontab rpm -qa | grep crontab 三、crontab服务启动与关闭 四、全局配置文件 crontab在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录和crontab,cron.deny二个文件 cron.daily 是每天执行一次的job cron.weekly 是每个星期执行一次的job cron.monthly 是每月执行一次的job cron.hourly 是每个小时执行一次的job cron.d 是系统自动定期需要做的任务 crontab 是设定定时任务执行文件 cron

Handle “race-condition” between 2 cron tasks. What is the best approach?

筅森魡賤 提交于 2020-03-03 12:06:25
问题 I have a cron task that runs periodically. This task depends on a condition to be valid in order to complete its processing. In case it matters this condition is just a SELECT for specific records in the database. If the condition is not satisfied (i.e the SELECT does not return the result set expected) then the script exits immediately. This is bad as the condition would be valid soon enough (don't know how soon but it will be valid due to the run of another script). So I would like somehow

crontab设置作业间隔执行问题

佐手、 提交于 2020-03-03 07:11:24
crontab设置作业间隔执行问题 https://www.cnblogs.com/kerrycode/p/5457467.html 这个源于有个网友问,crontab里 */40 9 * * * 是不是代表9点开始每40分钟执行? 直觉这个肯定不是从9:00开始每隔40分钟执行一次,但是也不能肯定它代表一个什么样的Schedule,那就做一个实验验证一下吧(有时候明明觉得自己已经掌握了一些知识点,但是总有一些问题,你不能很确切、肯定的回答,其实说明了还有盲点,知识点了解、掌握得不够彻底)。 在crontab里面设置一个下面作业,然后在日志/var/log/cron里面,你可以看到定时任务的相关日志,然后就知道了这个作业的真实Schedule */40 9 * * * echo "hello" >> /tmp/text.txt 其实*/40表示每隔40分钟执行一次,但是加上*/40 9以后,表示这个作业在9点钟内,每隔四十分钟执行。也就会说这个作业会在每天的9:00、 9:40各执行一次。 如果要设置自9点钟开始,每隔40分钟执行一次,使用下面配置即可。在解决问题的同时,也加深了对这个的理解! */40 9-23 * * * echo "hello" >> /tmp/text.txt 作者: 潇湘隐者 出处: http://www.cnblogs.com/kerrycode/

crontab 从nano 转换为 vim

百般思念 提交于 2020-03-01 10:24:56
crontab默认编辑器为nano,不方便使用。 修改crontab默认编辑器为vi或者其他的编辑器。 export EDITOR="/usr/bin/vim" ; crontab -e 更简单的办法,直接执行命令:select-editor 然后选择编辑器 来源: oschina 链接: https://my.oschina.net/u/731469/blog/395000