Я написал скрипт bash для обновления страницы на сайте моей компании. Вот что у меня так далеко:
#!/bin/bash
ruby final_07.rb
HOST=ftp.website.com
USER=username
PASSWD=password
ftp -n -v $HOST <<EOF
user $USER $PASSWD
delete warehouse.html.old
rename warehouse.html warehouse.html.old
put warehouse.html warehouse.html
EOF
Он прекрасно запускает скрипт Ruby. Подключается к FTP просто отлично. Он даже прекрасно переименовывает старый файл. Однако, когда он «загружается», я просто получаю файл с именем «warehouse.html», который равен 0 байтам - он полностью пустой. Я проверил, и исходный файл в порядке. Когда я вручную загружаю с помощью FileZilla, он тоже работает просто отлично. Итак, что дает?
Вот журнал из окна моего терминала:
john@starfire:~/code/ruby/idealm_db_parser/final$ ./update_script_02.sh
Connected to www.website.com.
220 FTP Service
Remote system type is UNIX.
Using binary mode to transfer files.
331 Password required for user.
230 User user logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
250 DELE command successful
350 File or directory exists, ready for destination name.
250 Rename successful
local: warehouse.html remote: warehouse.html
200 PORT command successful
150 Opening BINARY mode data connection for warehouse.html
226 Transfer complete.
221
Заранее спасибо за любую помощь. Я использую Ubuntu 10.10, если это поможет.