1

У меня небольшие проблемы со сценарием оболочки. Это что-то настолько глупое, что мне почти стыдно спрашивать, но я не могу понять это.

Это скрипт:

#!/bin/bash

MAGAZINE="
    192.168.49.3
    192.168.49.5
"

SYNC="192.168.250.40"

#mount //$SYNC/PozeSync /home/alex/pozesync -o user=magazin,password=,sec=ntlm &&

for magazin in $MAGAZINE; do
    if ping -c 1 -t 1 $magazin &> /dev/null
        then
            echo "$magazin is down"
        else
            echo "$magazin is up"
            mount -t cifs //$magazin/PozeUpload /home/alex/mounts -o user=Administrator,password= &&
            rsync --bwlimit=1000 -r /home/alex/mounts/* &&
            rm -rf /home/alex/mounts/* &&
            umount /home/alex/mounts &&
            echo "$magazin done" >> sync.log
    fi
done

#umount /home/alex/pozesync

Как видите, есть две строки с комментариями. Если я раскомментирую их, скрипт перестанет работать правильно. Он не монтирует папку pozesync, а затем выдает некоторые ошибки самбы, пытаясь загрузить папки в цикле.

Если я запускаю команды mount/umount без цикла, он работает нормально. Если я запускаю цикл без команд mount/umount, он работает нормально.

Запустите их вместе, однако и ...

192.168.49.3 is up
rsync: link_stat "/home/alex/mounts/*" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1165) [sender=3.1.1]

Что я делаю неправильно?

1 ответ1

0

Это была моя ошибка:

rsync --bwlimit=1000 -r /home/alex/mounts/* &&

должно быть на самом деле

rsync --bwlimit=1000 -r /home/alex/mounts/ &&

Ура!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .