关于linux CentOS系统定时自动重启?

关于linux CentOS系统定时自动重启?,第1张

1、查看定时执行的文件:命令:“crontab -l”,如同ll或者ls一样,显示定时任务列表信息。

2、查看定时任务详细信息,定时任务脚本前面的 * * * * *和数字意思解释如下:从左到右,依次是:分、时、日、月、星期。

3、修改定时脚本里面的执行内容。

4、查看定时脚本执行内容。

5、编辑定时执行计划。这个方式和修改文件类似。使用命令:"crontab -e" ,e表示edit修改的意思。

6、修改脚本路径,脚本的具体执行时间等。如果是每隔10分钟执行一次命令是:“*/10 * * * * /脚本.sh”。

系统的几种方法

实际生产环境中某些情况下 Linux 服务器系统在出现致命错误需要远程进行重启,通过常规的 reboot、init 6 等方法无法正常重启(例如重启时卡在驱动程序里等情况),这时就需要通过下面介绍的几种特殊的方法进行强制重启。

注意

下面这些强制重启 Linux 的方法都是直接跳过 umount 文件系统及 sync 等 *** 作,可能导致数据损坏,不在特殊情况下请勿使用。

另外当然这些都是需要 root 超级用户权限的哦。

reboot 命令

直接通过运行 reboot -nf 命令,这样重启时可以指定跳过 init 的处理和 sync *** 作,这样可以避免大多数情况下的问题。

magic SysRq key 方法

magic SysRq key 通过 proc 接口提供用户直接发底层命令给 kernel 的功能,可以实现关机、重启、宕机等 *** 作

Linux kernel 需要开启 CONFIG_MAGIC_SYSRQ 才可以支持 magic SysRq key。

运行下面两条命令就可以直接强制重启系统:

[root@localhost ~]# echo 1 >/proc/sys/kernel/sysrq

[root@localhost ~]# echo b >/proc/sysrq-trigger

相应的直接强制关机的命令:

[root@localhost ~]# echo 1 >/proc/sys/kernel/sysrq

[root@localhost ~]# echo o >/proc/sysrq-trigger

watchdog 方法

如果 Linux kernel 未开启 magic SysRq key 或者不起作用,可以尝试使用 watchdog 重启方法。watchdog 通过监控数据输入是否正常可以实现在系统出现异常时自动重启系统,这里我们刚好可以借用的。

首先需要加载 watchdog 支持,这个和主板硬件设备有关,如果只需要软件模拟的,可以运行:

[root@localhost ~]# modprobe softdog

命令加载软件 watchdog 支持,接着再运行:

[root@localhost ~]# cat /dev/watchdog

命令,该命令会马上退出并报错,同时系统日志中就会提示:

softdog: Unexpected close, not stopping watchdog!

这就表示 watchdog 设备是被意外关闭的而不是正常停止的,大约等待 60 秒之后你就会发现 Linux 系统自动重启了。

Linux watchdog 的异常等待时间是通过 /proc/sys/kernel/watchdog_thresh 设置的,一般默认为 60 秒。

IPMI 方法

上面几种方法都不能用?如果你的主板刚好支持 IPMI 管理接口的话

那可以直接通过 IPMI 实现硬件上的强制关机或重启。

首先加载 IPMI 支持:

[root@localhost ~]# modprobe ipmi_msghandler ipmi_devintf ipmi_si

确认 IPMI 设备是否已找到:

[root@localhost ~]# ls -l /dev/ipmi*

如果输出正常的话表示 IPMI 被正确加载了,接着安装 ipmitool 管理工具。

ipmitool 可以通过 IPMI 接口完成对本机或远程主机的一系列管理 *** 作。

这里我们就用直接电源管理的,重启系统:

[root@localhost ~]# ipmitool power reset

运行完成后主机就会马上重启,相应的关闭主机可以运行命令:

[root@localhost ~]# ipmitool power off

ipmitool 还可以实现在系统未启动时远程查看监控主板硬件状态等功能

1、crontab命令的功能是在一定的时间间隔调度一些命令的执行,它可以完成定时任务。

1.1 Crontab语法

usage: crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

(default operation is replace, per 1003.2)

-e (edit user's crontab) //编写任务

-l (list user's crontab)//查看任务

-r (delete user's crontab)

-i (prompt before deleting user's crontab)

-s (selinux context)

其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。

1。2编辑一个计划任务:

#crontab -e //编辑机会任务

#每天早上6点10分

106 * * * restart

保存退出。

#crontab -l //查看机会任务

2、在linux系统里可以编写重启脚本,依靠守护进程执行自动任务。你需要完成的是,把你的守护进程的脚本在/etc/rc.d/init.d/目录下,例如:myrestart

vi /etc/rc.d/init.d/myrestart

#!/bin/bash

#This is restart daemon

# See how we were called.

case "$1" in

start)

su - root restart

fi

echo $"Usage: $0 {start}"

exit 2

esac

保存退出

改变文件权限

# chmod 755 /etc/init.d/myrestart

添加服务

# chkconfig --level 35 myrestart on

使用方法

# service myrestart start//重启

注意:我这里加了一个start的参数,避免误 *** 作重启。你可以自行处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7401573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存