任务调度的crond常驻命令

    技术2022-05-11  27

    任务调度的 crond 常驻命令 crond linux 用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。 crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而 linux 任务调度的工作主要分为以下两类: 1 、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2 、个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置 Crontab UNIX 系统下的定时任务触发器,其使用者的权限记载在下列两个文件中: 文件 含义 /etc/cron.deny 该文件中所列的用户不允许使用 Crontab 命令 /etc/cron.allow 该文件中所列的用户允许使用 Crontab 命令 /var/spool/cron/ 是所有用户的 crontab 文件 /var/spool/cron/crontabs /var/spool/cron/crontabs   Crontab 命令的格式为: crontab –l|-r|-e|-i [username] ,其参数含义如表一: 参数名称 含义 示例 -l 显示用户的 Crontab 文件的内容 crontabl –l -i 删除用户的 Crontab 文件前给提示 crontabl -ri -r Crontab 目录中删除用户的 Crontab 文件 crontabl -r -e 编辑用户的 Crontab 文件 crontabl -e   用户所建立的 Crontab 文件存于 /var/spool/cron 中,其文件名与用户名一致。 它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段, 格式如下: * * * * * <command>(command 可是命令也可以是 sh 脚本,建立的脚本要付给可执行的权限, chomd 777 test.sh) 其时间段的含义如表二: 含义 取值范围 第一段 代表分钟 0—59 第二段 代表小时 0—23 第三段 代表日期 1—31 第四段 代表月份 1—12 第五段 代表星期几, 0 代表星期日 0—6 例:如果用户的 Crontab 文件的内容是: 29 19 * * * echo its dinner time ,则系统每天的 19:29 显示 ‘its dinner time’ 示例 ( 创建一个 cron 全过程 , 每分钟都会在 test.txt 里输入当前时间 ): 1.      以普通用户登录 linux 系统 ( 我用的是 CentOS4.1) 2.      $crontab –e 说明 : 系统默认的编辑器是 VIM, 如果不是请加上以下 shell:       $EDITOR=vi       $export EDITOR 3.      输入 ”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM 4.      $su root 5.      $cd /etc/init.d 6.      ./crond restart 下面看看看几个具体的例子: ● 0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次 apache ● 50 7 * * * /sbin/service sshd start  意思是每天 7 50 开启 ssh 服务 ● 50 22 * * * /sbin/service sshd stop  意思是每天 22 50 关闭 ssh 服务 ● 0 0 1,15 * * fsck /home  每月 1 号和 15 号检查 /home 磁盘 ● 1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup 这个文件 ● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} /;  每周一至周五 3 点钟,在目录 /home 中,查找文件名为 *.xxx 的文件,并删除 4 天前的文件。 ● 30 6 */10 * * ls  意思是每月的 1 11 21 31 日是的 6 30 执行一次 ls 命令     来源:http://blog.csdn.net/wtxidian/archive/2007/05/25/1625782.aspx       基本格式 : *    *    *    *    *    command 分 时 日 月 周 命令 1 列表示分钟 1 59 每分钟用 * 或者 */1 表示 2 列表示小时 1 23 0 表示 0 点) 3 列表示日期 1 31 4 列表示月份 1 12 5 列标识号星期 0 6 0 表示星期天) 6 列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重启apache。   45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每月1、10、22日的4 : 45重启apache。   10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每周六、周日的1 : 10重启apache。   0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。   0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每星期六的11 : 00 pm重启apache。   * */1 * * * /usr/local/etc/rc.d/lighttpd restart 每一小时重启apache   * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart 晚上11点到早上7点之间,每隔一小时重启apache   0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart 每月的4号与每周一到周三的11点重启apache   0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart 一月一号的4点重启apache    

    最新回复(0)