shutdown命令安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux,这是十分危险的。因为Linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的,还可能重启。这是由所有进程process都会收到系统所送达的信号signal决定的。这让像vi之类的程序有时间存储目前正在编辑的文档,而像处理邮件mail和新闻news的程序则可以正常地离开等等。
shutdown执行它的工作是送信号signal给init程序,要求它改变runlevel。
2、poweroff
poweroff命令用于关闭计算器并切断电源。
使用权限:系统管理者。
语法:poweroff [-n] [-w] [-d] [-f] [-i] [-h]
参数说明:
-n 在关机前不做将记忆体资料写回硬盘的动作
-w 并不会真的关机,只是把记录写到/var/log/wtmp档案里
-d 不把记录写到/var/log/wtmp文件里
-i 在关机之前先把所有网络相关的装置先停止
-p 关闭 *** 作系统之前将系统中所有的硬件设置为备用模式
3、halt
最简单的关机命令。其实halt就是调用shutdown -h。halt执行时,杀死应用进程,执行sync系统调用,文件系统写 *** 作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块superblock覆盖修补过的超级块。
[-w] 并不是真正的重启或关机,只是写。
wtmp 〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机或重启前,关掉所有的网络接口。
[-p] 该选项为缺省选项,就是关机时调用poweroff。
4、reboot
reboot的工作过程差不多跟halt一样,不过它是引发主机重启,而halt是关机。它的参数与halt相差不多。
5、init
init是所有进程的祖先,它的进程号始终为1.所以发送TERM信号给init会终止所有的用户进程、守护进程等。shutdown就是使用这种机制。init定义了8个运行级别,init 0为关机、init 1为重启,其它运行级别这里不做过多介绍。另外还有telinit命令可以改变init的运行级别,比如:telinit -iS可使系统进入单用户模式,并且得不到使用shutdown时的信息和等待时间。
LINUX服务器定时重启的具体命令如下:
crontab -e
0 1 * * * /sbin/reboot ( 0 1 * * *表示每天凌晨一点重启.)
0 1 * * 1/sbin/reboot (0 1 * * 1表示每周一凌晨一点重启
30 2 * * * /home/bin/oraclebackup.sh (备份数据库和站点目录)
30 3 * * * /home/bin/cmsbackup.sh (备份数据库和站点目录)
[root@localhost ~]# /etc/init.d/crond restart
[root@localhost ~]# chkconfig --levels 35 crond on(重启crond服务)
扩展资料:
在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:
minute hour day month week command
其中:
1.minute: 表示分钟,可以是从0到59之间的任何整数。
2.hour:表示小时,可以是从0到23之间的任何整数。
3.day:表示日期,可以是从1到31之间的任何整数。
4.month:表示月份,可以是从1到12之间的任何整数。
5.week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
6.command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
Linux系统利用Crontab命令实现定时重启Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数crontab -l //列出某个用户cron服务的详细内容crontab -r //删除没个用户的cron服务crontab -e //编辑某个用户的cron服务比如说root查看自己的cron设置:crontab -u root -l再例如,root想删除fred的cron设置:crontab -u fred -r、编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >>/tmp/ls.txt编辑/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上service crond start如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。比如: service mysqld start基本用法:1. crontab -l列出当前的crontab任务2. crontab -d删除当前的crontab任务3. crontab -e (solaris5.8上面是 crontab -r)编辑一个crontab任务,ctrl_D结束4. crontab filename以filename做为crontab的任务列表文件并载入crontab file的格式:crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间 分钟 (0-59) 小时 (0-23)日期 (1-31) 月份 (1-12) 星期几(0-6,其中 0 代表星期日) 第 6 个字段是一个要在适当时间执行的字符串 例子:#MIN HOUR DAY MONTH DAYOFWEEK COMMAND #每天早上6点10分10 6 * * * date #每两个小时 0 */2 * * * date (solaris 5.8似乎不支持此种写法) #晚上11点到早上8点之间每两个小时,早上8点 0 23-7/2,8 * * * date #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * mon-wed date #1月份日早上4点 0 4 1 jan * date 补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export) (1)先建一个文件crond.txt如下, 每天早上5点36分重新启动 36 5 * * * reboot (2)上传到/opt目录 (3)运行命令 crontab /opt/crond.txtcrontab -l 让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。 在Fedora 和Redhat中,我们应该用; [root@localhost ~]# /etc/init.d/crond restart 如果让crond 在开机时运行,应该改变其运行级别; [root@localhost ~]# chkconfig --levels 35 crond on service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务欢迎分享,转载请注明来源:内存溢出
评论列表(0条)