linux crontab mailto,Crontab 知多少
原标题:Crontab 知多少
习惯在linux下工作的同学,可能经常会用 crontab 来布置定时任务。今天来和大家一起了解下 crontab 的相关使用方法。
我们经常会遇到,手动执行一个脚本一切正常,添加到 crontab 里却不能执行了。其实这类问题大多是由环境变量导致的,问题出在 crontab 的配置文件里。
使用命令打开配置文件:cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
crontab 默认的 path 是
/sbin:/bin:/usr/sbin:/usr/bin,不在该path路径下的脚本就会执行出错。所以我们在添加 crontab的时候,要尽可能的使用绝对路径(完整的全路径)。另外还可以在crontab编辑里引入环境变量 . /etc/profile ; xxxxx(crontab任务)。
此外很多人喜欢用 crontab -e 命令来编辑,多用户下,可能容易误删别人的任务。此时可以把任务配置放到/etc/cron.d 目录下。内容如下图所示:
MAILTO=""
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * root sh /root/monitor_network.sh
上图的监控脚本是每隔1分钟执行一次,设想一种情况,如果1分钟内该任务没有执行完,那就会出现同时运行 2 个任务的情况,随着时间的积累,运行数可能会慢慢增加,耗费大量系统资源,那么如何避免这种情况呢?
1.程序层次
可以在脚本里加入下面的代码
num=`ps -ef|grep $0|grep -v 'grep'|grep -v $$|wc -l`
if [ $num -gt 0 ];then
exit
fi
2.使用linux的flock锁机制
MAILTO=""
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * root flock -xn /tmp/monitor_network.lock sh /root/monitor_network.sh
3.如果有异常导致,程序无法自行终止时,可考虑使用 timeout命令
MAILTO=""
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * root timeout -s 9 30 sh /root/monitor_network.sh
结束语:
如果不小心删除了crontab 任务,且没有记录的话。可以通过最近的 /var/log/cron 日志来恢复已经执行过的 crontab 。返回搜狐,查看更多
责任编辑:
linux crontab mailto,Crontab 知多少相关推荐
- Linux命令之crontab命令
Linux命令之crontab命令 前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面 ...
- 【Linux】定时任务crontab和at命令详解
[Linux]定时任务crontab和at命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的 ...
- linux定时任务no crontab for root 解答
使用命令查询crontab 任务时,一直提示:no crontab for root .查看了一些资料,说是crontab在初始时,设置了一次编辑方式,所以试了一下crontab -e的方式编辑,即在 ...
- linux 创建crontab文件位置,[基础教程]linux系统的crontab计划任务添加和删除
在linux系统中,有时候为了节省人力,所以将一些脚本进行定时执行,通过crontab计划任务进行启动和停止,这样能方便大部分时间来做其他事情,下面主要介绍一下如何启动和删除crontab计划任务 添 ...
- 【Linux基础】crontab定时命令详解
周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为"cron ...
- Linux定时任务:crontab安装与检查
文章目录 Linux定时任务:crontab安装与检查 一. 如何检查:Linux服务器是否安装 crontab? 1.1. 已经安装 · 检测如下图所示: 1.2. 没有安装,如何安装? 二.查看c ...
- Linux查看:crontab开启状态
文章目录 Linux查看crontab开启状态 xshell命令如下: 返回结果 · 放大图: 上述命令不能用,就用下面的命令:具体看报错内容: `新的命令如下:` Linux查看crontab开启状 ...
- 检查linux的crontab服务,crontab任务调度健康检测
系统环境: SUSE Linux Enterprise Server 10 SP1 (x86_64) 问题背景: 由于线上系统环境下的crontab内容比较多,在进行日常crontab任务调度时,经常 ...
- Linux系统上Crontab定时执行教程
Linux系统上Crontab定时执行教程 常用格式示例 每五分钟执行 */5 * * * * 每小时执行 0 * * * * 每天执行 0 0 * * * 每周执行 ...
最新文章
- 简明Linux命令行笔记:dmesg
- CodeSmith实用技巧(十五):使用快捷键
- Hibernate5笔记7--Hibernate缓存机制
- 《梦断代码》读后感一
- Docker问题记录
- gsoap写一个c++ webservice
- 解决win10系统中截图异常放大的问题
- 分布式内存数据库---Redis的持久化
- GitHub宣布GitHub Education 新计划,学校可免费用企业版
- centos php安装redis扩展,Centos7编译安装redis、php安装phpredis扩展
- python装饰器 property_介绍Python的@property装饰器的用法
- Machine Learning、Date Mining、IRNLP 会议期刊论文推荐
- python中函数的返回值_python--函数的返回值、函数的参数
- scratch少儿趣味编程之让小猫原地转圈
- ckplayer 解决flash全屏遮住了div元素,重写全屏/退出全屏方法
- vin码车架号查询易语言代码
- Proteus:logic contentions detected on net B15
- 福州IT企业之金庸群侠传
- 最后一公里极速配送(三)
- python 中文转带音调的拼音
热门文章
- Numpy_v2_数组运算
- Comcast 力推 RDK
- ext4 ntfs mysql_文件系统类型FAT16、FAT32、NTFS、EXT3、EXT4、XFS说明和对比
- 2020福建计算机软考,【2020年福建高级软考信息系统项目管理师考试时间】- 考...
- 美狐美颜SDK最常用功能代码解析
- 工作两年想换工作:是否要去考研?
- python打开谷歌浏览器新标签页_【Python】爬虫系列 | 3、谷歌浏览器的基本使用...
- cero3.0曲面合并后阵列注意事项
- C语言企业发放奖金根据利润提成问题解答
- 关于新劳动法-违约金试用期