crontab(linux下定时执行任务命令)

在linux在可以通过在脚本里(列如sh)写如日常需要进行的操作,然后通过crontab定时运行脚本。

Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。

用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。

使用者权限文件:

文件:/etc/cron.deny

说明:该文件中所列用户不允许使用crontab命令

文件:/etc/cron.allow

说明:该文件中所列用户允许使用crontab命令

文件:/var/spool/cron/

说明:所有用户crontab文件存放的目录,以用户名命名

使用方法:

(1)创建一个新的crontab文件

创建一个文件,在文件里写入定时运行语句,如下所示

 * * * * * /root/newtest.sh

其中 * * * * * 分别代表分 时 日 月 星期 ,5个星号则代表每隔一分钟就运行一次newtest.sh脚本。

(2)提交并运行crontab文件

crontab mycron

mycron为你创建的crontab文件名。

crontab的其他命令

(1)编辑crontab文件

如果希望添加、删除或编辑crontab文件中的条目,而E D I TO R环境变量又设置为v i,那么就可以用v i来编辑crontab文件,相应的命令为:

$ crontab -e

(2)删除crontab文件

要删除crontab文件,可以用:

$ crontab -r

(3)恢复丢失的crontab文件

如果不小心误删了crontab文件,假设你在自己的$ H O M E目录下还有一个备份,那么可以将其拷贝到/var/spool/cron/<username>,其中<username>是用户名。如果由于权限问题无法完成拷贝,可以用:

$ crontab <filename>

其中,<filename>是你在$ H O M E目录中副本的文件名。

我建议你在自己的$ H O M E目录中保存一个该文件的副本。我就有过类似的经历,有数次误删了crontab文件(因为r键紧挨在e键的右边)。这就是为什么有些系统文档建议不要直接编辑crontab文件,而是编辑该文件的一个副本,然后重新提交新的文件。

有些crontab的变体有些怪异,所以在使用crontab命令时要格外小心。如果遗漏了任何选项,crontab可能会打开一个空文件,或者看起来像是个空文件。这时敲delete键退出,不要按<Ctrl-D>,否则你将丢失crontab文件。

(4)查看crontab的执行情况

 $ tail -f /var/log/cron

时间: 2024-11-05 23:44:09

crontab(linux下定时执行任务命令)的相关文章

Linux下定时执行脚本(转自Decode360)

文章来自:http://www.blogjava.net/decode360/archive/2009/09/18/287743.html Decode360's Blog  老师(业精于勤而荒于嬉 QQ:150355677 MSN:[email protected]) 菜鸟表示不会写shell脚本,但还是能够看懂的,昨天因为传了太多数据,结果namenode进入了safe mode,然后小伙伴赶紧就暂停了每天早晨4点自动执行的数据合并压缩和传输的脚本,今天我自己准备改,才发现这篇博文. 先说说

linux下定时执行脚本

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动.关闭这个服务: 1.cron的启动 /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置 你也可以将这个服务在系统启动的时候自动启动:

Linux下的crontab定时执行任务命令详解

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间.cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 servi

Linux下的crontab定时执行任务命令详解 - 回家的流浪者 - 博客园

Linux下的crontab定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为“crontab”,是“cron table”的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业. service crond start    //启动服务 service crond stop 

Linux定时执行任务命令概述:at和crontab

Linux定时执行任务命令概述:at和crontab 在Linux下要定时执行任务,可以有两种方法实现:at命令和crontab.如果我们只是想要让特定任务运行一次,则可以使用at监控程序:如果是无人作业的情况,那么可以使用cron服务. 本文介绍在Linux下的两种定时执行任务的方法:at命令,以及crontab服务. (1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了. 设置at命令很简单,指示定运行的时间,那么就会在哪个时候运行.at类似打印 进程,会把

在Linux中定时执行一个程序的方法之at命令

/*********************************************************************  * Author  : Samson  * Date    : 04/29/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)

文章转自:http://www.osyunwei.com/archives/8998.html 说明: 操作系统:CentOS Mongodb安装目录:/usr/local/mongodb Mongodb数据库存放目录:/home/data/mongodb/mongodb_data Mongodb日志存放目录:/home/data/mongodb/mongodb_log 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令

Linux下定时备份MySQL数据库的Shell脚本

Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参考了网上的很多教程,外加自己的测试,以下脚本经测试可用.#!/bin/bash#Shell Command For Backup MySQL Database Everyday Automatically By Crontab#Author :

Linux下定时重启Tomcat(修改)

1.写一个shell脚本test.sh,重新启动tomcat [java] view plaincopy #!/bin/sh . /etc/profile pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | awk '{print $2}'` echo $pid if [ -n "$pid" ] then { echo ===========shutdown================ /opt/tomcat/