FTP, mput и копирование архива

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
InventoR
ст. лейтенант
Сообщения: 1344
Зарегистрирован: 2006-12-10 19:43:25
Контактная информация:

FTP, mput и копирование архива

Непрочитанное сообщение InventoR » 2010-06-14 22:33:00

Настраиваю бэкапирование серверов, нашел в нете кусок текста как скопировать файл на ftp

Код: Выделить всё

if  [ $FTP = "y" ]
then
echo "Initiating FTP connection..."
cd $BACKDIR
ATTACH=`for file in *$DATE.sql.gz; do echo -n -e "mput ${file}\n"; done`
echo $ATTACH
echo START_FTP_CONNECT

ftp -nv <<EOF
open $FTPHOST
user $FTPUSER $FTPPASS
cd $FTPDIR
$ATTACH
quit
EOF
echo -e  "FTP transfer complete! \n"
fi
Но проблема в том что не работает.

Код: Выделить всё

Backups directory already exists
Backing up MySQL databases...
Initiating FTP connection...
mput support.second.ua-mysqlbackup-glpi-06-14-2010.sql.gz

START_FTP_CONNECT
Connected to ftp.second.ua.
220 ProFTPD 1.3.3 Server (ProFTPD Default Installation) [192.168.0.75]
331 Anonymous login ok, send your complete email address as your password
230 Anonymous access granted, restrictions apply
Remote system type is UNIX.
Using binary mode to transfer files.
250 CWD command successful
?Invalid command.
221 Goodbye.
FTP transfer complete!

Your backup is complete!
support#
Подозреваю что-то в mput не правильно прописано, но что именно не могу понять.
ну вот и сказочке конец, кто слушал, тот молодец.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: FTP, mput и копирование архива

Непрочитанное сообщение rmn » 2010-06-14 23:58:25

Все норм работает:

ftptest.sh:

Код: Выделить всё

#!/bin/sh

cmd="mput $1"

ftp -nv << EOF
o 10.10.4.2
user admin xxxxxxxxx
prompt off
binary
cd /private
$cmd
quit
EOF

Код: Выделить всё

remcomp% ./ftptest.sh ftptest.sh
Connected to 10.10.4.2.
220-FileZilla Server version 0.9.34 beta
220 rmn's ftp server
331 Password required for admin
230 Logged on
Remote system type is UNIX.
Interactive mode off.
200 Type set to I
250 CWD successful. "/private" is current directory.
local: ftptest.sh remote: ftptest.sh
229 Entering Extended Passive Mode (|||34237|)
150 Connection accepted
100% |**********************|   118       1.20 MB/s    00:00 ETA
226 Transfer OK
118 bytes sent in 00:00 (42.28 KB/s)
221 Goodbye

Аватара пользователя
InventoR
ст. лейтенант
Сообщения: 1344
Зарегистрирован: 2006-12-10 19:43:25
Контактная информация:

Re: FTP, mput и копирование архива

Непрочитанное сообщение InventoR » 2010-06-15 9:50:09

Спасибо, вот эта строка решила первую часть проблемы.
prompt off
Но есть и вторая часть проблемы:

Код: Выделить всё

ATTACH=`for file in *$DATE.sql.gz; do echo -n -e "put ${file}\n"; done`
echo $ATTACH

показывает

Код: Выделить всё

put support.second.ua-mysqlbackup-glpi-06-15-2010.sql.gz
Дальше:

Код: Выделить всё

ftp -nv <<EOF
open 192.168.0.75
user ftp ftp
cd uploads
lcd $BACKDIR
prompt off
$ATTACH
quit
EOF
echo -e  "FTP transfer complete! \n"
fi
И вот эта команда:
$ATTACH не хочет выполнятся внутри скрипта.
Как бы изменить правильно чтобы избавиться от этой проблемы?
ну вот и сказочке конец, кто слушал, тот молодец.

Гость
проходил мимо

Re: FTP, mput и копирование архива

Непрочитанное сообщение Гость » 2010-06-15 11:08:42

а не проще ли использовать?

Код: Выделить всё

cd $BACKDIR
ftp -u ftp://$FTPUSER:$FTPPASS@$FTPHOST/$FTPDIR *$DATE.sql.gz

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: FTP, mput и копирование архива

Непрочитанное сообщение schizoid » 2010-06-16 16:28:45

или scp использовать...секурнее как-то
ядерный взрыв...смертельно красиво...жаль, что не вечно...