我想在没有特定时间的 cron 的情况下在后台运行命令

我想在没有特定时间的 cron 的情况下在后台运行命令

我的命令是ppp-ublox-on激活 GSM ppp0。 25 分钟间隔后,PPP0 断开连接。我需要ppp-ublox -on再次手动运行该命令。我正在使用繁忙的盒子。 ppp-ublox-on脚本如下

#!/bin/sh
#
# Script to initiate a ppp connection. This is the first part of the
# pair of scripts. This is not a secure pair of scripts as the codes
# are visible with the 'ps' command.  However, it is simple.

# These are the parameters. Change as needed.
APN=web2                # The APN for the connection
#APN=3GNET              # The APN for the connection
TELEPHONE=*99#          # The telephone number for the connection
ACCOUNT=                # The account name for logon (as in 'George Burns')
PASSWORD=               # The password for this account (and 'Gracie Allen')
LOCAL_IP=0.0.0.0        # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0       # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0   # The proper netmask if needed

# Save DNS Server IP
if [ ! -f /etc/dnsserver/dhclient.res.conf.ppp0 ]; then
        touch /etc/dnsserver/dhclient.res.conf.ppp0
fi
echo "nameserver 114.114.114.114" > /etc/dnsserver/dhclient.res.conf.ppp0
echo "nameserver 8.8.8.8" >> /etc/dnsserver/dhclient.res.conf.ppp0

# Save GATEWAY
if [ ! -f "/etc/gwserver/gateway.ppp0" ];then
        touch /etc/gwserver/gateway.ppp0
        chmod a+x /etc/gwserver/gateway.ppp0
fi
echo "route add default ppp0" > /etc/gwserver/gateway.ppp0

# Set DNS Server IP
if [ -f "/etc/dnsserver/dhclient.res.conf.ppp0" ];then
        cp /etc/dnsserver/dhclient.res.conf.ppp0 /etc/resolv.conf
fi

# Export them so that they will be available at 'ppp-on-dialer' time.
export APN TELEPHONE ACCOUNT PASSWORD

# This is the location of the script which dials the phone and logs
# in.  Please use the absolute file name as the $PATH variable is not
# used on the connect option.  (To do so on a 'root' account would be
# a security hole so don't ask.)

- /usr/sbin/ppp-ublox-on 1/57 1%

# This is the location of the script which dials the phone and logs
# in.  Please use the absolute file name as the $PATH variable is not
# used on the connect option.  (To do so on a 'root' account would be
# a security hole so don't ask.)

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

# Initiate the connection
#
# I put most of the common options on this command. Please, don't
# forget the 'lock' option or some programs such as mgetty will not
# work. The asyncmap and escape will permit the PPP link to work with
# a telnet or rlogin connection. You are welcome to make any changes
# as desired. Don't use the 'defaultroute' option if you currently
# have a default route to an ethernet gateway.
#
exec /usr/sbin/pppd debug lock modem crtscts /dev/ttyACM0 460800 \
        asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
- /usr/sbin/ppp-ublox-on 57/57 100%
NETMASK=255.255.255.0   # The proper netmask if needed

ppp-on-dialer 脚本如下

and enter the APN as follow
#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec    chat -v                                         \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              'AT+CGDCONT=1,"IP",'\"web2\"''  \
        OK              ATDT$TELEPHONE                  \
        CONNECT         ''
        ogin:--ogin: mobily
        assword:     awais

~ ~ ~ ~ ~ - /etc/ppp/ppp-on-dialer 1/18 5%

答案1

制作文件 job1.sh

while true
do
    bash your-script.sh
    sleep 1500
done

**your-script 是您希望每 25 分钟运行一次的脚本 **

现在在后台运行 job.sh

bash job1.sh &

相关内容