相关疑难解决方法(0)

如何设置自动(重新)启动后台ssh隧道

我是linux的初学者用户,也是ssh和隧道的新手.

无论如何,我的目标是在后台维护一个ssh隧道.

为了做到这一点,我编写了以下批处理,然后我将其添加到crontab中(批处理在工作日期间每隔5分钟自动处理一次,从早上8点到晚上9点).我在stackoverflow中的其他一些线程中读到,应该使用autossh,这将确保通过循环检查确保ssh始终正常.我也是....

#!/bin/bash
LOGFILE="/root/Tunnel/logBatchRestart.log"
NOW="$(date +%d/%m/%Y' - '%H:%M)" # date & time of log

if ! ps ax | grep ssh | grep tunnelToto &> /dev/null
then
    echo "[$NOW] ssh tunnel not running : restarting it" >> $LOGFILE
    autossh -f -N -L pppp:tunnelToto:nnnnn nom-prenom@193.xxx.yyy.zzz -p qqqq
    if ! ps ax | grep ssh | grep toto &> /dev/null
    then
            echo "[$NOW] failed starting tunnel" >> $LOGFILE
    else
            echo "[$NOW] restart successfull" >> $LOGFILE
    fi
fi
Run Code Online (Sandbox Code Playgroud)

我的问题是有时隧道停止工作,虽然每件事看起来都没问题(ps ax | grep …

linux ssh batch-file

6
推荐指数
1
解决办法
2万
查看次数

bash:使用双引号参数调用脚本

我有一个bash脚本,一个用双引号括起来的参数,它在给定的边界内创建一个map的形状文件,例如

$ export_map "0 0 100 100"
Run Code Online (Sandbox Code Playgroud)

在脚本中,有两个select语句:

select ENCODING in UTF8 WIN1252 WIN1255 ISO-8859-8;
...
select NAV_SELECT in Included Excluded;
Run Code Online (Sandbox Code Playgroud)

当然,这两个语句要求输入输入一个数字作为输入.这可以通过将数字(后跟换行符)连接到脚本来绕过.

为了节省时间,我希望有一个脚本可以创建8个地图 - 每个组合ENCODING(4个选项)和NAV_SELECT(2个选项).

我已经将另一个bash脚本写入create_map服务器作为包装器:

#!/bin/bash

for nav in 1 2 3 4;
do
    for enc in 1 2;
    do
        printf "$nav\n$enc\n" | /bin/bash -c "./export_map.sh \"0 0 100 100\"" 
    done
done
Run Code Online (Sandbox Code Playgroud)

**这有效(谢谢,Brian!),但我找不到"0 0 100 100"从外部脚本外部传递数字参数的方法.**

基本上,我正在寻找在双引号内接受包装器bash脚本的参数的方法,并将它 - 用双引号 - 传递给内部脚本.

澄清:

export_map是主要的脚本,从create_map8次调用.

有任何想法吗? …

bash quotes

0
推荐指数
1
解决办法
6583
查看次数

标签 统计

bash ×1

batch-file ×1

linux ×1

quotes ×1

ssh ×1