6.循环执行的例行性工作排程:由cron(crond)这个系统服务来控制,同样可以通过/etc/cron.allow,/etc/cron.allow来进行限制该服务的使用名单。当用户使用crontab这个指令后,该项记录会被记录到/var/spool/cron/里面去,并且以账号作为判断。比如huge执行了crontab这个指令,他的工作会被记录到/var/spool/cron/huge里去。但不要直接使用vi直接编辑该档案,因为可能输入语法错误。会导致无法执行cron。另外,cron执行的每一项工作都会被记录到/var/log/cron这个登录档中,所以可以根据这个档案,来擦看是否有木马植入。
7.crontab [-u username] [-l|-e|-r]:循环执行例程任务,参数
1)-u:只有root才能执行这个任务,亦即帮其他使用者建立/移除crontab工作排程
2)-e:编辑crontab的工作内容
3)-l:查阅crontab的工作内容
4)-r:移除所有crontab的工作内容,若仅移除一项,使用-e比较好。
每项指令都有六个字段,含义依次为:分钟(0-59)、小时(0-23)、日期(1-31)、月份(1-12)、周(0-7)、指令。其中0和7都代表周日。
还有一些辅助字符:
a)*:代表任何时刻都接受的意思。
b),:代表分割时段的意思,比如下达3到6点,则是这样的:0 3,6 * * * command
c)-:代表一段时间范围,比如8到12点之间的每小时的20分钟进行一项工作:20 8-12 * * * command
d)/n(斜线):n表示数字,亦即每隔n单位间隔的意思,例如每5分钟进行一次,则:* /5 * * * * command。
8./etc/crontab:系统配置文件,crontab -e是针对使用者的cron来设计的,如果是系统例行性任务时,只需编辑.etc/crontab这个档案就可以了,cron这个服务的最低侦测限制是分钟,所以cron会每分钟去读取一次/etc/crontab与/usr/bin/crontab这个执行档,所以,只要你编辑完/etc/crontab这个档案,并将它保存之后,那么cron的设定就自动会来执行了。
查看该文件会发现有一个PATH,代表执行文件搜寻路径,MAILTO=root:代表若有额外的STDOUT,将以email将数据传给该指定的用户。
/etc/crontab这个档案支持两种指令下达方式:
1)指令型态,即直接在后面跟指令
2)目录规划,使用run-parts指令,将要执行的脚本都放到这个目录下面,即可
9.一些注意事项:
1)资源分配不均,包括流量,区域内其他PC的流量侦测,CPU使用率,RAM使用率,在线人数实时侦测。
2)取消不要输出的项目
3)安全监测,在/var/log/cron线面查看木马
4)周与日月不可共存
10.anacron:处理非24小时一直启动的Linux系统的crontab的执行,所以anacron并不能指定合适执行某项任务,而是以天为单位或者是在开机后立即进行anacron的动作,他会去侦测停机期间应该进行但是没有进行的crontab任务,并将该任务执行一遍后,anacron就会自动停止了。
anacron其实是一只程序,而不是一个服务。
11.anacron [-sfn] [job];anacron -u [job]:参数,
1)开始一连续的执行各项工作(job),会依据时间记录文件的数据判断是否进行
2)-f:强制进行,而不去判断事件记录文件的时间戳
3)-n:立刻进行未进行的任务,而不延迟等待时间
4)-u:仅更新时间记录文件的时间戳,不进行任何工作
5)job:有/etc/anacrontab定义的各项工作名称
12.当我们下达anacron指令后,它会运作:
1)由/etc/anacrontab分析到cron.daily这项工作名称的天数为1天
2)由/var/spool/anacron/cron.daily取出最近一次执行anacron的时间戳
3)由上个步骤与目前的时间比较,若差异天数为设定的天数以上(包含这一天,/etc/anacrontab的第一个参数)就准备进行该指令
4)若准备进行指令,根据/etc/anacrontab的设定,将延迟设定的分钟数(/etc/anacrontab的第二个参数)