У меня есть команда rsync, которая хорошо работает или из командной строки Bash или из сценария Bash.
Команда: rsync -qtz user@hostname:/tmp/p /tmp
Когда я выполняю команду, она копирует файл и работает в меньше, чем секунда.
Если я поместил команду в сценарий Perl, сценарий зависает, и я имею к Ctrl-C для уничтожения его.
Сценарий Perl - просто это:
system("rsync -qtz user@hostname:/tmp/p /tmp");
Что могло идти не так, как надо? Другие команды (как mv и gzip) хорошо работают в сценарии Perl. Я пытался указать the4 полный путь к/usr/bin/rsync, но он не помогает.
@
символ является специальными внутренними двойными заключенными в кавычки строками в Perl.
Это пытается найти массив названным @hostname
и разверните его. @hostname
не установлен, таким образом, это расширяется до rsync -qtz user:/tmp/p /tmp
.
Попробовать
system("rsync -qtz user\@hostname:/tmp/p /tmp");
вместо этого.