Linux 中怎么设置计划任务:cron 与 anacron
作者&投稿:能康 (若有异议请与网页底部的电邮联系)
在本篇中,我们会解释 cron 和 anacron,并向你展示如何在 Linux 中设置 anacron。我们也会比较这两个工具。
cron 在 Linux 设置时间任务
第一: cron 介绍 1、cron - 是一个用于运行计划任务如系统备份、更新等的守护进程。它适合在那些 24X7 不间断运行的机器如服务器上运行的计划任务。 2、命令/脚本被写在 cron 任务脚本中,它是在crontab文件中被安排的。系统默认的cromtab文件是/etc/crontab,但是每个用户也可以创建自己的cromtab文件来在特定时间运行用户定义的命令。
第二 : cron 如何设置 1、命令合使用方法 #crontab -u -l, -r, -e -u指定一个用户 -l列出某个用户的任务计划 -r删除某个用户的任务 -e编辑某个用户的任务 2、创建一个定时任务 要创建一份个人crontab文件,只要输入: # crontab -e 30 3 * * * /bin/tar -jcf /tmp/backup.tar.gz /etc // 每天早上3点,备份/etc目录 # crontab -l
在 Linux 中设置 anacron
第一:anacron介绍 1、anacron 用于以天为单位的频率运行命令。它的工作与 cron 稍有不同,它假设机器不会一直开机。 2、cron 也适合在那些不会 24X7 运行如笔记本以及桌面电脑的机器上运行每日、每周以及每月的计划任务(LCTT 译注:不适合按小时、分钟执行任务)。 3、假设你有一个计划任务(比如备份脚本)要使用 cron 在每天半夜运行,也许你以及睡着,那时你的桌面/笔记本电脑已经关机。你的备份脚本就不会被运行。 4、如果你使用 anacron,你可以确保在你下次开启桌面/笔记本电脑的时候,备份脚本会被执行。
第二 :anacron 如何在 Linux 设置 1、anacron命令方法 anacron 任务被列在/etc/anacrontab中,任务可以使用下面的格式(anacron 文件中的注释必须以#号开始)安排。 #period delay job-identifier command ************************************************* 1.1 : period - 这是任务的频率,以天来指定,或者是 @daily、@weekly、@monthly代表每天、每周、每月一次。 你也可以使用数字:1- 每天、7- 每周、30- 每月,或者N- 几天。 1.2: delay - 这是在执行一个任务前等待的分钟数。 1.3: job-id - 这是写在日志文件中任务的独特名字。 1.4: command- 这是要执行的命令或 shell 脚本。2 、如何看示列文件 要浏览示例文件,输入: $ ls -l /var/spool/anacron/ total 12 -rw------- 1 root root 9 Jun 1 10:25 cron.daily -rw------- 1 root root 9 May 27 11:01 cron.monthly -rw------- 1 root root 9 May 30 10:28 cron.weekly anacron 会检查任务是否已经在period字段指定的时间被被执行了。如果没有,则在等待delay字段中指定的分钟数后,执行command字段中指定的命令。 一旦任务被执行了,它会使用job-id(时间戳文件名)字段中指定的名称将日期记录在/var/spool/anacron目录中的时间戳文件中。 3、 现在让我们看一个例子。 这个会每天运行/home/aaronkilik/bin/backup.sh脚本: @daily 10 example.daily /bin/bash /home/aaronkilik/bin/backup.sh 当机器在backup.sh期望被运行时是关机的,anacron 会在机器开机十分钟之后运行它,而不用再等待 7 天。
第三 : anacrontab 文件的重要变量 START_HOURS_RANGE - 这个设置任务开始运行的时间范围(也就是任务只在这几个小时内运行)。 RANDOM_DELAY - 这定义添加到用户定义的任务延迟的最大随机延迟(默认为 45)。 这是你的 anacrontab 文件可能看上去的样子。 Anacron –/etc/anacrontab:
cron 以及 anacron 的比较
cron 和 anacron 主要的区别在于 cron 能在那些持续运行的机器上有效地运行,而 anacron 是针对那些会在一天内或者一周内会关机的机器。
叔凭羚翘: 在linux系统中我们可以修改定时执行的文件实现定时计划,具体步骤如下.1、查看定时执行的文件:命令:“crontab -l”,如同ll或者ls一样,显示定时任务列表信息,然后查看定时任务详细信息,定时任务脚本前面的 * * * * *和数字意思解释如...
蝶山区17324331379: 每个月的最后一个周五执行一个计划任务,怎么做,linux里 - ?
叔凭羚翘: crontab -e 增加: 0 0 * * 5 [ $(date -d "+7 days" +%d) -lt $(date +%d ) ] && /path/your_program 上面是每个月的最后一个周五0点0分执行,可根据实际需要的时间修改
蝶山区17324331379: linux系统计划任务的方式 - ?
叔凭羚翘: Windows的任务计划在Linux下的称呼为:周期性进程.一般使用脚本编写任务:Perl\Python\Shell\Expect 一般由守护进程cron 完成工作,另外还有ANACRON 和FCRON.详细情况参考标准文档咯,在此无需多言.
蝶山区17324331379: 在linux系统的root下如何设置user用户的周期计划任务? - ?
叔凭羚翘: root用户下可以直接 su user ,切换到 该用户下 然后使用crontab -e 编辑该用户的周期任务,如图:
蝶山区17324331379: linux at怎么编写计划任务 - ?
叔凭羚翘: Linux中的计划任务(一次性定时计划任务)的at命令的用法1.命令格式:at[参数][时间]2.命令功能:在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程(ps -ef | grep atd查看, 开启用/etc/init.d/atd start or restart; 开机即启...
蝶山区17324331379: Linux 怎么设置 计划任务 就是在2012年3月31日08点00分自动关机 - ?
叔凭羚翘: 可以这样: $sudo crond& # 0 8 31 Jan shutdown(这是表一月,三月分的前三单词忘了,自己改下) 补充: lz不好意思,这个不能避免断电等意外情况的.可以这样更好: # at 08:00 2012-03-31 at>/bin/sync //存盘 at>/bin/sync at>/sbin/shutdown -h now at>再按ctrl+z就可以了 查看可以# atq 2 2012-03-31 23:00 等表明添加成功..
蝶山区17324331379: linux centos 我想设置个定时cron任务. - ?
叔凭羚翘: 1.系统级别的计划任务:编辑 /etc/crontab文件 vim /etc/crontab* */6 * * * find /tmp/eaccelerator/ -type f -print -delete 保存退出2.如果是root用户:crontab -e -u root* */6 * * * find /tmp/eaccelerator/ -type f -print -delete 保存退出 如果是其他用户,只需...
蝶山区17324331379: linux下怎么来利用crontab实现计划任务非常有用 - ?
叔凭羚翘: 1、编辑计划任务 crontab -e 编辑计划任务,其实就是编辑一个计划任务的文件,一行一个计划任务.每行的格式如下:# m h dom mon dow command m:minute 分钟 (0-59)h:hour 小时 (0-23)dom:日 (1-31)mon:month 月 (1-12)dow:...
蝶山区17324331379: 如何设置linux 的计划任务??
叔凭羚翘: 执行cron任务:具体如下 比如当前为root用户 #crontab -e 进入后文件格式如下 分 时 日 月 周 执行命令 比如 0 24 * * * init 0 *代表每 比如 每月 这行的意思是 每月的每天的24点 执行init 0 关机任务 文件写完后:wq保存 #crontab -l 查看任务列表
蝶山区17324331379: Linux下怎么建立任务计划,shell文件是做什么的?以什么为后缀,前两者之间有什么关系 - ?
叔凭羚翘: linux下建立任务计划可以用at,crontab,或者直接在脚本里写一个循环.shell是命令解释器,用来进行人机互动用的.比如人发出一个...