- 浏览: 160497 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
GunChin:
有些复杂,看得不是很懂
RAILS -
shellfish:
恩,红帽默认的SELinux的级别是强制,这个一般我不大用,装 ...
华思服务器一个奇怪问题的解决方法 -
机器人:
你说得太好了了了了了了了 子 啊啊啊啊,呼啦啦。
GIT handbook -
hbxiao135:
能介绍下 fat free crm的 流程分析吗?
(CRM)customer relationship management sysetm
命令简介
crontab-操作每个用户的守护程序和该执行的时间表。
部分参数说明
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USERHOMESHELL这三个环境变量。
所以就在自己的crontab -e 中find mv cp 操作是被静止的
你可以让他执行一个脚本,让他自动执行一个.sh文件
15 * * * * /home/zhifeifeng/Desktop/back.sh
mkdir -p /home/zhifeifeng/Desktop/data_back mkdir -p /home/zhifeifeng/Desktop/data_back/`date -I` cp /home/zhifeifeng/Desktop/data/report_`date +%H` /home/zhifeifeng/Desktop/data_back/`date -I`
注意这里我们用到了 `date XXX`表示一个当前日期的东西
mv oldfile `date +%Y-%m-%d` mv oldfile `date -I`
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
1.crontab命令选项:
-u指定一个用户,
-l列出某个用户的任务计划,
-r删除某个用户的任务,
-e编辑某个用户的任务
2.cron文件语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
3.记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
任务调度设置文件的写法
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
具体格式如下:
Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令
每个字段代表的含义如下:
Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务
Command 指定要执行的程序
在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
举例如下:
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ]
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。
添加后保存的路径是 /var/spool/cron,可以用vi查看修改,这个不难
一句话总结crontab(指这个应用、这个机制)的作用:”run this command at this time on this day”,在指定的日期、时间,运行指定的命令。下面是Linux 上crontab手册中的知识点,小结如下:
1. crontab文件“正式行”的开始
空行、以空格或者“tab”开行的行,被cron(daemon)忽略。
以#开始的行,作为注释被cron(daemon)忽略。
“注释”不允许与“命令”放在同一行(作为命令的注释),会被作为“第六段”,被cron(daemon)执行。
同样的,也不能放在设置环境变量的同一行。
2. 在crontab文件中指定环境变量
设置变量使用
name = value
这样的格式,”=”号左右的空格不是必须的。
几个变量默认已经被设置,比如:
SHELL=/bin/sh
HOEM=/home/nnix
LOGNAME=nnix
其中SHELL和HOME可以重新设定,LOGNAME则不可(大概跟确定crontab文件的位置有关)。
默认,crontab会把执行的输出发送给crontab的所有者,除非重新设定变量:
MAILTO=other_or_email
另外,当crontab发送输入时的邮件编码,可以通过设置变量 CONTENT_TYPE 和 CONTENT_TRANSFER_ENCODING 来使用正确的编码来发送邮件。
3. crontab 文件的分段
依次分别是
- 分(0-59)
- 时(0-23)
- 日(1-31)
- 月(1-23,或者英文名)
- 周(0-7,或者英文名,0和7均表示周日)
- 要执行的内容
4. 前五段:时间和日期
1)表示任意:* 号表示 “任意”(first-last)。
2)指定数字,表示指定的时间。
3)指定段,表示“开始-结束”内包含的数:比如3-6,表示3,4,5,6
4)指定列表:比如 “1,2,3,4″,”0-4,8-12″
5)指定“步长”:8-14/2 表示8,10,12,14
5. 模糊的第六段:
1)除去前五段,从第六段开始到换行符或者“%”为止,为要执行的命令。
2)默认第六段将被/bin/sh执行,除非在crontab文件中指定了非/bin/sh的SHELL变量。
3)第六段中的”%”号,除非前面加”\”号转交,否则,“%”号将结束命令行、换行的意义,并且其后的内容会被做为标准输入发送给前面的命令。
6. 冲突的逻辑
日期可以用月限定,也可以用“星期”指定,如果两个段有冲突(比如这两段不同时为“*”),那么,第六段的命令将在匹配任何一个的情况下运行,比如
“30 4 1,15 * 5″,将在每月的1号和15号 加 每个周五,上午4:30运行。
7. crontab文件中的神密符号“%”
可能会遇到的一个问题是,在第六段中需要使用date生成日志文件名,比如:
0 4 * * * /opt/cron/mysql_dump.sh > /srv/logs/`date +%y-%m-%d`.dump.log
这时会发现crontab怎么也不运行这个mysql_dump.sh,也看不到有日志生成。这是因为在crontab文件中,”%”是有特殊含义的。假如不需要“%”的特殊作用,需要使用转义符转义。上面应该写成:
0 4 * * * /opt/cron/mysql_dump.sh > /srv/logs/`date +\%y-\%m-\%d`.dump.log
“%”在crontab文件中,有“结束命令行”、“换行”、“重定向”的作用,比如:
0 22 * * 1-5 mail -s “It’s 10:00 pm” joe%Joe,%%Where are your kids?%
将会在周一至周五的22:00发送一分内容为:
Joe,<换行>
<换行>
Where are your kids?<换行>
8. 不能理解的特殊用法
@reboot : Run once, at startup.
发表评论
-
linux网络管理
2011-05-07 10:57 1628一、IP配置 1、 #/sbin/ifconfig ... -
运用logrotate维护你的日志文件
2010-08-28 11:46 1403在linux下面做应用服务器的兄弟可能都遇到过这些问 ... -
在CentOS、REDHAT系统下做一个开机自启动的脚本
2009-12-25 10:01 5238附,在Redhat或者CentOS里 ... -
RAID磁盘阵介绍及RAID5数据恢复
2009-12-03 12:23 3039RAID磁盘阵介绍及RAID5数据恢复 ... -
WIN下安装VNC实现对CENTOS的远程控制
2009-12-02 12:59 3408VNC,全称为Virtual Network ... -
ftp及相关的操作命令
2009-11-16 16:37 1325使用ftp命令进行远程文 ... -
svn server部署小记
2009-10-31 13:11 1197今天部署了一下SVN 服务器,开始我是按照RUBY COOKB ... -
centos 网络相关
2009-10-11 14:40 2061新安装完CentOS Linux,发现配置 完apach ... -
linux crond 定时任务
2009-10-08 08:27 2923cron是一个linux下的 ... -
scp 远程传文件with port number
2009-10-02 13:03 1865最近工作项目江西服务器暴露出了被别人当肉鸡的危险,故加强了自己 ... -
ssh with authentication key generation
2009-09-23 11:14 1118现在要添加ssh的认证密钥免去每次ssh登录服务器要输入用户名 ... -
yum 命令备查
2009-08-11 09:52 1456最近装的服务器都是装centos系统的, 没有了 apt-ge ... -
华思服务器一个奇怪问题的解决方法
2009-08-07 10:39 941When packaging an application o ... -
ssh 远程访问和传输文件
2009-08-06 18:01 3229OpenSSH OpenSSH 是 SSH (Secure ... -
安装oracle-sql-developer on ubuntu
2009-07-24 18:31 2370最近工作用到oracle数据库,但是总是看不到数据结构,所以找 ... -
linux高效的命令(find pgrep create_file )
2009-07-22 22:21 11361. 查找Java项目中,main ... -
linux查找进程 杀死进程
2009-07-22 22:12 3000今天在工作的时候遇到一个问题,就是我启动一个项目(script ... -
VIM快捷键大全
2009-07-22 21:56 3242前言 Vim是一个超级牛的编辑器,可以说是专为程序员设计的编 ... -
初步接触LINUX shell
2009-07-14 18:02 1109今天初步接触linux的内核脚本shell 如果用他来做点简 ... -
alias 来简写你常用的命令
2009-05-13 15:32 1068alias vncmybox=’ vncviewer adm ...
相关推荐
利用系统Crontab来定时执行备份文件,按日期对备份结果进行保存,可以达到备份的目的。本文介绍了利用Crontab为Linux定时备份Mysql数据库的步骤。
crontab 详细用法 定时任务
利用Crontab为Linux定时备份Mysql数据库
易语言 Crontab 定时任务执行模块 v1.2 支持单位秒 也可做计时器源码。函数列表[td]。函数详情。@vSpear。
结合crontab实现数据库定时备份,备份mysql
基于以上几点原因,我们迫切的需要一个可以集中化管理的、可配置的定时任务管理器 但自己开发一套分布式的定时任务系统何其复杂,所以作者采用crontab服务做辅助,使用php实现对定时任务的配置管理 使用php管理...
最近在工作中遇到了一些问题,crontab定时任务居然不执行,后来我在网上找的时候发现网上主要说了这5个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以...
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行 适用于l有inux运维需求,对linux命令有一定基础的朋友
利用Crontab实现对Oracle数据库的定时备份,很实用的一个教程!
linux 定时任务 crontab 详细解释 cron服务提供crontab命令来设定cron服务
springboot的定时任务配置和linux的crontab一样例子.zipspringboot的定时任务配置和linux的crontab一样例子.zipspringboot的定时任务配置和linux的crontab一样例子.zip
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于 Django_crontab、Xadmin 做一套定时任务管理系统源码+项目说明.zip
NULL 博文链接:https://caoyaojun1988-163-com.iteye.com/blog/1698192
Ubuntu-使用crontab定时任务详细使用
熟悉linux的朋友应该知道在linux中可以使用crontab设置定时任务。可以通过命令crontab -e编写任务。当然也可以直接写配置文件设置任务。 但是有时候希望通过脚本自动设置,比如我们应用程序部署时等。有需求当然就得...
centos6.9默认yum无法下载crontab, 整理成功安装后的离线安装软件包上传供大家使用
Linux Crontab 定时任务 命令详解
主要介绍了linux下利用crontab创建定时任务的相关资料,需要的朋友可以参考下
主要介绍了Python + selenium + crontab实现每日定时自动打卡功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Linux crontab定时任务crond服务管理crontab 定时任务设置crontab [选项]选项-e 编辑crontab定时任务-l 查询cront