[Linux]crontab 创建定时任务
来源:互联网 发布:淘宝买家诈骗商家手段 编辑:程序博客网 时间:2024/05/17 15:36
在Linux环境上创建定时任务时可以使用crontab来实现。
crontab的参数及书写格式如下:
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]
Options:
-u <user> define user
-e edit user's crontab
-l list user's crontab
-r delete user's crontab
-i prompt before deleting
-n <host> set host in cluster to run users' crontabs
-c get host in cluster to run users' crontabs
-s selinux context
-x <mask> enable debugging
其中最常用的例子有
crontab -l ----------------------------列出当前用户已有的任务列表
crontab -e -----------------------------编辑当前用户的任务列表(最好不要使用这种方式修改,下面会给出一种比好的方式)
crontab -r -----------------------------删除当前用户的任务列表
下面来举一个给当前用户新加一个任务的例子:
待执行的任务脚本:task.sh
#!/bin/bashcurDir=`pwd`log=$curDir/task.logmain(){ time=`date +%Y%m%d%H%M%S` echo "${time} do something" >> $log}main #@
添加定时任务的脚本:addTask.sh
#!/bin/bashcurDir=`pwd`task=$curDir/task.shtmp=/tmp/cronTmpif [ -f $task ]then chmod 750 $task crontab -l | grep -v "$task" > $tmp > /dev/null 2>&1 echo "0-59 23 * * * $task > /dev/null 2>&1" >> $tmp crontab $tmp if [ -f $tmp ] then rm -f $tmp 2 > /dev/null fifi
简单说一下crontab中的命令格式:
例如:
0-59 23 * * * /home/jeremysong/cron/task.sh > /dev/null 2>&1
上面的这个命令主要分为两部分,第一部分为运行周期的设定,第二部分则为执行的命令
基本语法有如下的定义:
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
上述的例子表示为:每天的23点,每隔1分钟执行一次task.sh
任务没有立即生效的解决办法:
1、首先确认添加任务是否成功,可以使用crontab -l 的方式查看当前的任务列表
2、确认定时任务执行的command是可执行的
3、使用 /etc/init.d/cron reload 重新加载任务列表
4、最后实在不行,可以使用 /etc/init.d/cron restart 重启服务
另外,crontab任务列表对应的文件为:
/var/spool/cron/tabs(注意:有的系统没有tabs这一层目录)
上述目录中存在的文件即为各个用户的crontab列表文件,例如:root、jeremysong
以上就是对crontab作的一些小总结。另外,crontab的使用不仅局限与如此,配合其他参数还可以设定更加和你项目要求的定时任务。
- [Linux]crontab 创建定时任务
- linux下利用crontab创建定时任务
- Linux Crontab 定时任务
- Linux 定时任务 crontab
- Linux 定时任务 crontab
- Linux Crontab 定时任务
- Linux Crontab 定时任务
- linux 定时任务crontab
- linux 定时任务crontab
- linux定时任务 crontab
- linux 定时任务 crontab
- Linux - crontab(定时任务)
- linux crontab定时任务
- linux----crontab----定时任务
- Crontab Linux 定时任务
- linux定时任务--crontab
- linux定时任务crontab
- Linux定时任务crontab
- STL-泛型算法(前篇)
- [leetcode 125] Valid Palindrome
- Linux进程间通信机制
- Android源码解析之四:View事件分发机制
- Android学习笔记——Android PullToRefresh (ListView,GridView 下拉刷新) 使用介绍
- [Linux]crontab 创建定时任务
- 写博客的心得
- Shell学习--(3)替换,字符串,数组
- Linux内核的namespace机制分析
- js获取获取页面传送过来的值实例
- 三节点DG 配置
- 学生会个人总结
- Hive 运算符 & 内置函数详解 -- 适合关键词查找
- [笔记] 大型网站技术架构——核心原理与案例分析 [四]