linux写一个脚本开机80秒后自动重启、
时间: 2024-10-22 09:26:52 浏览: 33
在Linux中,你可以编写一个shell脚本来实现开机80秒后自动重启的功能。这里是一个基础的bash脚本示例:
```bash
#!/bin/bash
# 文件名:auto_reboot.sh
# 计算开机时间,假设当前时间是0
start_time=$((SECONDS + 80))
# 等待预定的时间
while [ $(date +%s) -lt $start_time ]; do
sleep 1
done
# 一旦达到80秒,执行reboot命令
echo "System will reboot in 80 seconds."
shutdown -r now
```
把这个脚本保存到一个文件(如`auto_reboot.sh`),然后给它执行权限:
```bash
chmod +x auto_reboot.sh
```
然后你可以选择将其设置为开机启动,例如在Ubuntu系统中,可以把脚本加入到`rc.local`文件中:
```bash
sudo nano /etc/rc.local
```
在文件底部添加一行`/path/to/auto_reboot.sh &`(替换`/path/to`为脚本的实际路径),然后保存并退出。记得关闭编辑器。
这样,每次系统启动到80秒时就会自动重启。
相关问题
crontab写一个脚本开机80秒后自动重启
在Linux系统中,你可以使用`crontab`来设置定时任务,让某个脚本在特定时间运行。为了让你的脚本在启动后80秒自动重启,首先你需要创建一个 shell 脚本(比如名为 `restart_script.sh`),内容大致如下:
```bash
#!/bin/bash
# Your script to be executed here
# 假设你的脚本是这样的
sleep 80 && your_command_to_restart &
# 使用 nohup 来确保脚本在后台继续运行,并且不会因为终端关闭而停止
nohup ./your_script_to_restart &
```
然后你需要将这个脚本添加到系统的`crontab`配置文件中,让它在开机时立即执行。打开crontab编辑器:
```bash
crontab -e
```
在打开的编辑器中,添加一个新的行:
```bash
@reboot sleep 80; /path/to/restart_script.sh
```
这里的`@reboot`表示开机时,`sleep 80`是为了等待80秒,之后执行`/path/to/restart_script.sh`。记得替换`/path/to/restart_script.sh`为你的脚本实际路径。
保存并退出编辑器后,`crontab`就会按照设定的时间执行你的脚本了。
linux写一个开机80s后自动重启脚本期间系统正常运行
要在Linux系统中编写一个开机80秒后自动重启的脚本,通常我们会创建一个shell脚本,使用`sleep`命令让系统等待一段时间,然后触发重启。以下是一个简单的bash脚本示例:
```bash
#!/bin/bash
# /etc/rc.local 或者 /etc/crontab (如果定时任务)
echo "系统将在80秒后重启..."
sleep 80 # 等待80秒
reboot -f &>/dev/null # 使用reboot命令重启,&>/dev/null是为了忽略输出和错误信息
# 如果你想通过crontab设置开机自启动,将此行添加到/etc/crontab文件里
# (假设你的用户名是your_username)
# @reboot sleep 80 && su your_username -c 'reboot'
```
把这个脚本保存为`autorestart.sh`,然后给予执行权限:
```sh
chmod +x autorestart.sh
```
如果你想让它在每次开机时都执行,你可以选择将这个脚本放在`/etc/rc.local`目录下,或者编辑`/etc/crontab`文件,设置一个开机启动的任务,例如每分钟检查一次。
注意:在生产环境中,这种做法可能会导致一些不稳定的情况,因为它依赖于系统重启后的瞬间执行。一般推荐采用更为优雅的服务管理解决方案,比如Systemd、Upstart等。
阅读全文