一、在linux下设置自动关机:(服务器版CentOS-7.2系统,硬件:X86平台)
1.1、关机配置脚本路径:
[root@localhost home]# cat /etc/crontab
1.2、关机配置脚本内容:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .—————- minute (0 - 59)
# | .————- hour (0 - 23)
# | | .———- day of month (1 - 31)
# | | | .——- month (1 - 12) OR jan,feb,mar,apr …
# | | | | .—- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
1.3、关机配置通过man查询命令细节如下:
[root@localhost home]# man 4 crontabs
CRONTABS(4) Crontabs users’ Manual CRONTABS(4)
NAME -- crontabs - configuration and scripts for running periodical jobs
SYNOPSIS -- run-parts [--list|--test]<directory>
DESCRIPTION -- Crontabs is a historical name for the run-parts script and the system crontab.
The run-parts script runs all executables in the specified directory.Run-parts runs all
by creating file jobs.allow or jobs.deny which worked similar as other allow/deny config
files. The file must be created in the specified directory.
--list print names of all files (not limited to executables), but don't run them. This option
can't be used with test option.
--test print names of files, which would be run.
Randomization of jobs can be configured in the /etc/sysconfig/run-parts file. To enable
randomization of jobs, set the RANDOMIZE parameter
to 1 and set the RANDOM parameter to an integer which determines a random seed. Additionally,
you may configure the RANDOMTIME parameter
(again, by specifying an integer) to provide an additional level of randomization. Jobs are
not randomized when the RANDOM and RANDOMTIME
parameters are set to 0. Values in these two parameters must be set to 1 or larger to provide a
good enough randomization.
Randomization of cron jobs can be useful for shared networks, where multiple cron jobs executed
at once can cause spikes in traffic, especially during daily jobs. With randomized jobs, the
orkload is evenly distributed throughout the day.
EXAMPLE OF CONFIGURATION FILE
RANDOMIZE=1
RANDOM=4
RANDOMTIME=8
Historically the crontab file contained configuration which called run-parts on files in cron.
{daily,weekly,monthly} directories. These jobs are
now run indirectly through anacron to prevent conflicts between cron and anacron. That means the
anacron package has to be installed if the jobs
in these directories should be running. Refer to the anacron(8) how to limit the time of day of the job
execution.
EXAMPLE
/etc/cron.daily/jobs.deny could contain for example 0logwatch which forbid execution of this script.
SEE ALSO
anacron(8), crontab(5)
Marcela Mašláňová 2012-08-29
1.4、实际操作结果
在命令窗口执行:crontab -e 进入编辑模式,
依照1.2的提示输入要执行的命令。
CentOS下自带命令如下:
1.4.1、使用方式:
crontab [options] file
crontab [options]
crontab -n [hostname]
1.4.2、操作选项(1.4.1中的 ‘options’):
-u define user 指定执行账户
-e edit user’s crontab 编辑执行命令
-l list user’s crontab 查看可执行用户账户
-r delete user’s crontab 删除某个账户的自启命令
-i prompt before deleting 立即执行(不询问)
-n set host in cluster to run users’ crontabs 设置集群情况下的核心机
-c get host in cluster to run users’ crontabs 集群情况下执行核心机的脚本
-s selinux context 安全模式执行
-x enable debugging 允许调试开机程序
1.4.3、测试效果:
Broadcast message from root@localhost
(unknown) at 17:29 …
The system is going down for halt NOW!
1.4.4、一些调试用到的东西:
a、crontab依赖linux的开机自启服务:crond;
b、如果没有该服务,只要可以执行crontab也可以说明已经安装该服务,服务名可能被隐藏。
c、查看本机是否支持cronb服务:
篇幅限制,下接 “设置linux的自动关机和windows的自动关机(篇幅二)”