如何写个linux shell脚本自动重启系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何写个linux shell脚本自动重启系统相关的知识,希望对你有一定的参考价值。

1、通过SSH已root用户登录系统
2、执行crontab -e进入编辑模式
3、按i进入输入模式,添加如下命令,
每天2点01分重启

代码:01 2 * * * reboot

”* * * * * reboot”,前面五个*号代表五个数字,顺序分别是:分、时、日、月、星期,
它们数字的取值范围和含义如下:
分钟 (0-59)

小时 (0-23)

日期 (1-31)

月份 (1-12)

星期 (0-6)//0代表星期天
参考技术A linux系统就是以稳定而著称,一般情况下都没必要重启系统的,而且由于是多用户多任务系统,重启可能会对其他用户有影响,也不利于数据保存,最好不要总是重启。当然,如果需要特殊需要定时重启的话,crontab -e定时任务reboot(或者init3,init5)等等都可以。 参考技术B crontab -e制定init.6就行 参考技术C reboot
这一条命令就OK了呀!

在linux系统内,如何将一个shell脚本添加到自动启动项?

不管你用什么用户名登录, 你的根目录下都应该有个自动加载脚本:
cd ~
vi .bashrc (这个是bash的,如果是tcsh,文件该是.cshrc )
然后把你的执行脚本的命令放进去就行了,完了之后重启或者执行source .bashrc
比如:
root@alex:~# cat ~/.bashrc
# 执行/usr/bin目录下的abc.sh

/usr/bin/abc.sh

# 或者执行当前目录下的abc.sh
./abc.sh追问

我需要把/etc/bashrc都改成/user/home/abc.sh还是怎么做。在线等,谢谢

追答

不用改,再加一行,是单独的命令,跟那没关系,你就在最下面,或者最上面加一行
./user/home/abc.sh

追问

显示找不到文件,我的shell里引用的文件什么的是不是都需要写绝对路径。

追答

那肯定了,不然它哪知道上哪找?

参考技术A crontab -e 里面添加
* * * * * command
分 时 日 月 周 命令

例如:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。追问

不是要重启服务,而已在开机启动的时候自动执行一个shell脚本。

参考技术B 在你的$HOME/.profile里面调用这个脚本就行了。追问

我的里面只有.bash_profile不知道是不是您所说的,我在里面引用脚本,提示找不到文件。我的shell里面应用的东西是不是也要写绝对路径。

追答

.bash_profile应该也可以的。 应该用绝对路径。

这个不行的话就新建一个.profile,在.profile里面调用。

以上是关于如何写个linux shell脚本自动重启系统的主要内容,如果未能解决你的问题,请参考以下文章

在linux系统内,如何将一个shell脚本添加到自动启动项?

shell实现SSH自动登陆

想写个shell脚本来自动配置ip,子网掩码和网关

请问在linux系统下如何每五分钟自动执行一次页面

如何在Linux shell中获取本机主机名

如何写个脚本将Linux目录下的几个文件夹定时复制