Команда ftp
не позволяет проверить успешность передачи. Если вы должны продолжать использовать эту реализацию FTP-передачи, есть две альтернативы::
ls
в FTP-клиенте и убедитесь, что длина файла соответствует ожидаемой. Имейте в виду, что ls
зависит от сервера и может варьироваться от реализации сервера к реализации. Лучшим решением (, кроме полной замены FTP на rsync
или scp
), является использование другого FTP-клиента, который обеспечивает надежный статус передачи.
#!/bin/bash
tar czf <sourcefile> --directory=<directory> log
lftp -u '<user>,<password>' -e 'put -E <source> -o <target>; quit' "$1"
Команда lftp
должна быть доступна в большинстве дистрибутивов Linux. Флаг -E
настраивает команду put
так, чтобы она действовала больше как mv
, а не как cp
:, удаляя исходный файл после успешной передачи.
Используйте -e
опцию :pkill -e program
.
pkill --help
:
-e, --echo display what is killed
pkill -V
:
pkill from procps-ng 3.3.15