Ubuntu 启动程序,如 vbox Headless、luadch 和更改网络指标

Ubuntu 启动程序,如 vbox Headless、luadch 和更改网络指标

自从我将服务器从 16.04 重新安装到 20.04 后,我在自动启动程序方面遇到了一些麻烦。

首先我尝试使用 rc.conf-> 不起作用,并且 crontab -e 和“@reboot start something”也不起作用。

在重新安装之前,在旧系统上我使用类似这样的 init.d 脚本以不同的用户身份启动 VirtualBox VM:

#! /bin/sh
# /etc/init.d/vbox

#Edit these variables!
VMUSER=vbox
VMNAME="nas8"
BASEFOLDER=/home/vbox/VMs/backups/

case "$1" in
    start)
        echo "Starting VirtualBox VM..."
        sudo -H -u $VMUSER VBoxManage startvm "$VMNAME" --type headless
        ;;
    reset)
        echo "Resetting VirtualBox VM..."
        sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" reset
        ;;
    stop)
        echo "Saving state of Virtualbox VM..."
        sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" savestate
        ;;
    shutdown)
        echo "Shutting down Virtualbox VM..."
        sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" acpipowerbutton
        ;;
    status)
        sudo -H -u $VMUSER VBoxManage list vms -l | grep -e ^"$VMNAME": -e ^State | sed s/\ \ //g | cut -d: -f2-
        ;;
    backup)
        echo ""
        sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" acpipowerbutton

        echo "Waiting for VM "$VMNAME" to poweroff..."
        until $(sudo -H -u $VMUSER VBoxManage showvminfo --machinereadable "$VMNAME" | grep -q ^VMState=.poweroff.)
        do
          sleep 1
        done

        FILENAME=$(date +"%Y_%m_%d-%T")
        echo "Backing up Virtualbox VM to '$BASEFOLDER$FILENAME'..."
        sudo -H -u $VMUSER VBoxManage clonevm "$VMNAME" --options keepallmacs --name $FILENAME --basefolder $BASEFOLDER

        echo "Restarting VirtualBox VM..."
        sudo -H -u $VMUSER VBoxManage startvm "$VMNAME" --type headless
        echo ""
        ;;
    *)
        echo "Usage: sudo service vbox {start|stop|status|shutdown|reset|backup}"
        exit 1
        ;;
esac

exit 0

但即使有了这个“更新 rc vbox 默认值”功能 - 它也无法正常工作。当系统启动时 - 我可以写入 /etc/init.d/vbox start,它就可以正常工作!但不是自动的.... 另一个不再起作用的脚本是 luadch:

!/bin/bash
# /etc/init.d/luadch
# version 0.4.2 2016-02-09 (YYYY-MM-DD)
#
### BEGIN INIT INFO
# Provides: luadch
# Required-Start: $local_fs $remote_fs screen-cleanup
# Required-Stop:  $local_fs $remote_fs
# Should-Start:   $network
# Should-Stop:    $network
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Short-Description:    luadch server
# Description:    Starts the luadch server
### END INIT INFO

### Hier den Pfad zur Hubsoftware angeben
PATH="/home/dc/Luadch-2.21-Linux-x64"

# Ab hier nichts mehr aendern!
cd $PATH
case $1 in
    start)
        /usr/bin/screen -h 1024 -dmS luadch sudo -H -u dc /home/dc/Luadch-2.21-Linux-x64/luadch
    ;;
    stop)
        killall luadch
    ;;
    *)
        echo "Usage: $0 [start|stop]"
    ;;
esac
exit 0

否则,在两个网络上我需要给一个适配器主接口。路由显示如下:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         fritz.box       0.0.0.0         UG    100    0        0 enp4s0
default         fritz.box       0.0.0.0         UG    200    0        0 enp6s0
192.168.n1.0    0.0.0.0         255.255.255.0   U     0      0        0 enp4s0
fritz.box       0.0.0.0         255.255.255.255 UH    100    0        0 enp4s0
192.168.n2.0    0.0.0.0         255.255.255.0   U     200    0        0 enp6s0
fritz.box       0.0.0.0         255.255.255.255 UH    200    0        0 enp6s0

如果不更改度量标准,主适配器就不适合我的设置。这是一张 10 gbit 的 ASUS PCIe 卡。我同意使用

ifmetric enp6s0 200

但我还需要在启动时或启动后运行它。

希望这不会是一个太大的问题,并且有人有时间来帮助我解决这个问题。

相关内容