linux 中的crontab使用方法
首先,crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。其中:
1、cron是服务名称;
2、crond是后台进程;
3、crontab是计划任务表;
1、系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件
2、用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用crontab来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录下,其文件名与用户名一致。
用法:
1、crontab [-u user] file:-u用来指定某个用户的crontab服务,一般是像root这种高权限用户使用。file是命令文件的名字,表示将file作为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
2、crontab [-u user] -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件内容。
3、crontab [-u user] -l:显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前用户的crontab文件内容。
4、crontab [-u user] -[i]r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。-i参数指定在删除用户的crontab文件时是否给确认提示。
效果如下
你好 使用vi 命令打开配置文件,按下I键 进入插入模式 定位到需要到替换的资源后面 输入2即可。在摁:输入 wq! 强制写入保存退出!更多关于VI编辑器的使用方法,使用技巧 推荐你百度搜索《linux就该这么学》!
噢,你把这个文件保存下来嘛。然后你运行 crontab -e
然后在vi编辑器里输入
*/5 * * * * root ./temp.sh
然后保存就可以了。
crontab的具体用法我复一个文档给你。
噢,下午已有一个高手回答了,答得很简略也很实用。你可以听他的。
*************************************************************
linux 下的crontab如何写
wscdlzhom发布于 2008-2-24 | 439次阅读 字号: 大 中 小 (网友评论 0 条) 我要评论
crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。
cron 的主配置文件是 /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 任务的输出被邮寄给 MAILTO 变量定义的用户名。如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出。HOME 变量可以用来设置在执行命令或脚本时使用的主目录。
/etc/crontab 文件中的每一行都代表一项任务,它的格式是:
minute hour day month dayofweek command
minute — 分钟,从 0 到 59 之间的任何整数
hour — 小时,从 0 到 23 之间的任何整数
day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)
month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)
dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)
command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)
在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。
整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。
用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。
正斜线(/)可以用来指定间隔频率。在范围后加上 / 意味着在范围内可以跳过 integer。譬如,0-59/2 可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。
开头为井号(#)的行是注释,不会被处理。
如你在 /etc/crontab 文件中所见,它使用 run-parts 脚本来执行 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本,这些脚本被相应地每小时、每日、每周、或每月执行。这些目录中的文件应该是 shell 脚本。
如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到 /etc/cron.d 目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。
# record the memory usage of the system every monday
# at 3:30AM in the file /tmp/meminfo 30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
# run custom script the first day of every month at 4:10AM 10 4 1 * * /root/scripts/backup.sh
同时在写crontab执行的.sh脚本时要注意添加权限和路径。例如:
crontab语句:30 14 * * * /opt/apps/ems_query/bin/start.sh
相应的脚本:
source /home/tvgame/.bash_profile
cd /opt/apps/ems_query/bin/
java -Xmx64M -jar ../lib/ems_query.jar &
echo "*/5 * * * * root temp.sh">>/etc/crontab
昌官泛捷: 噢,你把这个文件保存下来嘛. 然后你运行 crontab -e 然后在vi编辑器里输入 */5 * * * * root ./temp.sh 然后保存就可以了. crontab的具体用法我复一个文档给你.噢,下午已有一个高手回答了,答得很简略也很实用.你可以听他的.***********...
漯河市13732866408: Linux系统利用Crontab命令实现定时重启怎么做? ?
昌官泛捷: Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序 使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond ...
漯河市13732866408: 如何使用Linux的Crontab执行PHP脚本 - ?
昌官泛捷: Linux中crontab是实现定时执行的指令,利用这个指令我们就可以定时执行某一个php文件,从而实现用PHP做Linux自动执行脚本.如何用PHP作Linux自动执行脚本?在安装PHP的时候,会产生一个可执行文件,文件名为php.将它 copy 到 /...
漯河市13732866408: linux 怎么定crontab - ?
昌官泛捷: 1.作用 使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户.2.格式 crontab [-u user] {-l | -r | -e}3.主要参数-e:执行文字编辑器来设定时程表,内空的文字编辑器是vi-r:删除目前...
漯河市13732866408: 问个 关于Linux crontab 命令的用法! - ?
昌官泛捷: 00 08 * * * chmod -R 777 /mnt 你的格式不对,每个时间点之间是有空格的,时间顺序是:分时日月周
漯河市13732866408: linux定时任务crontab怎么启动 - ?
昌官泛捷: crontab 需要由root用户部署,“su - " 切换到root; ”crontab -e" 进入crontab 编辑状态; 输入" * * * * * /usr/bin/bash /home/ganlin/ganlin.sh", 这代表每秒执行一次脚本. 部署完成后 输入 ”crontab -l" 查看crontab 中所有部署的内容; 脚本最好不要放在/home目录下,可以在脚本中写入一行标准输出用来在部署完成后测试结果用. “> /dev/null 2>&1“ 这样写得结果是就看不到标准输出了, /dev/null 代表一个虚拟的设备 把标准输出写到一个不存在的设备中去了.
漯河市13732866408: 如何用linux中的crontab 执行多条定任务命令 - ?
昌官泛捷: 这个使用crontab -e进行编辑就可以了 每条命令占用一行 然后对每条命令定义它的执行时间
漯河市13732866408: Linux下怎么来利用crontab实现计划任务 - ?
昌官泛捷: crontab设置完毕不会立即执行里面的任务 你想下,如果立即执行 我的服务器crontab有N条 改一次就执行一次全部 机器会奔溃的
漯河市13732866408: linux crontab的使用 - ?
昌官泛捷: testsh1.sh是个脚本文件, crontab要求第六段是命令段,你说你用sh去执行这个脚本的能打印出效果,那你为什么不用sh命令去执行这个脚本呢 1 * * * * sh /bin/bash /var/spool/cron/testjava/testsh1.sh
漯河市13732866408: Linux系统:使用crontab命令编辑超级用户的crontab表 - ?
昌官泛捷: 在root用户下打开终端,输入以下命令就ok了#crontab -e */30 * * * * ls -al /root#crontab -e 35 5 */10 * * ps -aux#crontab -e 25 1-4 * * * pwd#crontab -e * 18 1 * * shutdown -r now