Проблема с этой строкой:
clamscan --bell --recursive --max-filesize=99999 --log log/myLogs.txt $file
Это пытается записать в журнал / myLogs.txt. Если вы находитесь в своем домашнем каталоге / home / oneill
, он попытается записать в /home/oneill/log/myLogs.txt
, что, вероятно, является правильным местом. Если вы находитесь в корневом каталоге /
, он попытается записать в /log/myLogs.txt
, для которого у него нет соответствующих разрешений.
Используйте абсолютные пути или поместите cd / home / oneill
где-нибудь в начале скрипта.
Вы могли настройте sudo, чтобы разрешить команду cp foo / home / test /
без пароля, а затем используйте эту команду:
ssh testUser@MachineB 'cat > foo && sudo mv foo /home/test/' < my_file
Передача данных по конвейеру через ssh в команду по вашему выбору на другом конце - это общий трюк здесь. Вы, вероятно, сможете найти дюжину других способов достичь своей цели, используя варианты этого.