Мне нужно переместить файл через ftps с нашего сервера на удаленный сервер и запускать его каждые 30 минут, используя задание cron.
У меня есть скрипт оболочки:
#!/bin/sh # @description: Transfer inventory update file to BOL.com # # FTP LOGIN HOST='ftps.bol.com' USER='USR' PASSWORD='PASS' # REMOTE DIRECTORY REMOTE_DIR='/remote_dir' #LOCAL DIRECTORY LOCAL_DIR='local/dir' # RUNTIME! echo echo "Starting upload of file to $HOST" date lftp -u "$USER","$PASSWORD" $HOST <<EOF set ftp:ssl-allow true # set ftp:ssl-protect-data true set ssl:verify-certificate no # transferring now... put -O $REMOTE_DIR $LOCAL_DIR/1064072.csv; quit EOF echo echo "Transfer finished" date Скрипт работает нормально через ssh, но он ждет 10 минут, прежде чем я увижу командную строку. Когда я настраиваю его на запуск через cron, он не запускается. Мне сказали, что процесс не заканчивается, и это приводит к зависанию cron.
Как я могу получить эту команду ftp для завершения и закрытия соединения?
Не уверен, что случилось с форматированием скрипта. Я попытаюсь скопировать это снова: