ресурсы, смонтированные через sshfs и fstab на сервере nginx, -выдают ошибку 404, -исчезают при обновлении

Вы можете использовать этот модифицированный скрипт. Вы должны использовать set timeout 2000перед mget.

#!/bin/bash

dirdate=`/bin/date +%Y%m%d -d "1 day ago"`

INPUT_DIR="/root/SDP_BHC/input"
CREDENTIALS_FILE="/root/FTP_TEST/Credentials.csv"

# Loop to read credentials and other details from an external file.
while IFS=','; read node_id node_name ip1 ip2 ip3 user1 pass1 user2 pass2 user3 pass3 installed location circle sdpno hwtype
do

        # Generate Input Directory for IP-Node
        mkdir -p $INPUT_DIR/"$node_id"/"$node_name"/IP/"$dirdate"

        echo -e "\n[INFO] Node IP: $ip1"
        echo -e "=============================\n"

        SOURCE_FILE="/var/opt/fds/statistics/*PSC-TrafficHandler_8*1_A_*_System*$dirdate*stat"
        TARGET_DIR="$INPUT_DIR/$node_id/$node_name/IP/$dirdate"


set prompt "(%|#|\\$|%\]) $"
spawn /usr/bin/sftp $user1@$ip1
expect { "$prompt" }
#expect "Are you sure you want to continue connecting (yes/no)?"
#bin prompt
send "yes\r"
#expect "Password:"
expect { "$prompt" }
send "$pass1\r"
expect "sftp>"
set timeout 2000;
send "mget $SOURCE_FILE $TARGET_DIR\r"
expect "sftp>"
send "bye\r"
EOD

.
.
.

done < $CREDENTIALS_FILE
1
08.04.2020, 12:22
1 ответ

Я думаю, nginxработает под другим пользователем. И по умолчанию монтирования sshfsвидны только пользователю, который их монтирует.

Поэтому (по умолчанию)nginxне видит файлы.

Есть варианты sshfs/fuse(sshfs— это fuseфайл -система ). чтобы сделать их более заметными. (Не помню, но это есть в руководстве ).

0
28.04.2021, 23:18

Теги

Похожие вопросы