Linux下定时执行脚本解析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下定时执行脚本 ? ? ??? 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的用法: ? ??? 首先查看一下/etc/crontab文件: ? $ cat /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 - 需要执行的命令(可用as ls /proc /tmp/proc或 执行自定义脚本的命令) ? ??? root表示以root用户身份来运行 ??? run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本 ??? 对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。 ??? 整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4 ??? 指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。 ??? 符号“/”指定步进设置。“/interger”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。 ??? 以“#”开头的为注释行,不会被执行。 ??? 如果一个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 scrīpt the first day of every month at 4:10AM 10 4 1 * * /root/scrīpts/backup.sh ??? 除了root用户之外的用户可以执行crontab配置计划任务。所有用户定义的crontab存储在目录/var/spool/cron下,任务会以创建者的身份被执行。要以特定用户创建一个crontab,先以该用户登录,执行命令crontab -e,系统会启动在VISUAL或者EDITOR中指定的的编辑软件编辑crontab。文件内容与/etc/crontab格式相同。示例如下: 0 3 * * * /home/dbbackup/db1backup.sh backup 0 4 * * * /home/dbbackup/db2backup.sh backup ??? 表示每天3点执行/home/dbbackup/db1backup.sh backup,4点执行/home/dbbackup/db2backup.sh backu

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档