首页 > 解决方案 > vps重启时自动启动脚本?

问题描述

我有一个安装了一些服务器的 vps linux ubuntu 16.04。

我厌倦了一直手动重启我的服务器。我能做些什么来解决这个问题?

我的服务器以“屏幕”运行

当我需要重新启动服务器时,我需要这样做:

  1. (打开屏幕)< Screen -r "ScreenName" >
  2. (进入文件夹)< cd /home/server/ >
  3. (启动服务器)< ./server.sh >
  4. (关闭屏幕)< ctrl a+d >

有没有办法在重新启动服务器时自动执行所有这些步骤?

谢谢。

标签: linuxubuntu-16.04vpsrestartreboot

解决方案


我要做的是onboot.sh在我的主目录中有一个文件。该文件的内容将是:

#!/bin/bash
cd /home/server
screen -Ldm -S ScreenSessionName bash server.sh

L是可选的。它将screenlog.0在包含脚本输出日志的目录中创建一个名为的文件。-S设置会话名称。-d创建屏幕后分离屏幕并-m强制创建新的屏幕会话。

对于要在启动时运行的脚本,我使用cron. 在我的情况下,我使用sudo crontab -e编辑 root 用户的 crontab 并附加以下行:

@reboot sudo -u username bash /home/username/onboot.sh

这将onboot.sh作为给定用户运行。如果您希望它以 root 身份运行,您可以简单地输入

@reboot bash /home/username/onboot.sh

在 crontab 里面。


如果您需要一个脚本,则更快的方法:

crontab -e以您希望server.sh脚本运行的用户身份执行。

附加以下行:

@reboot cd /home/server && screen -Ldm -S ScreenSessionName bash server.sh

保存文件。而已。


推荐阅读