10 / 9 / 2
Регистрация: 21.11.2013
Сообщений: 50
1

Аплоад файлов на FTP через Curl в директорию

19.01.2015, 13:29. Показов 5611. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется скрипт. Сейчас он не грузит файлы на FTP, а необходимо получаемые архивы загрузить в папку /backup с подпапками на удаленном FTP. То есть получить при загрузки аналог /backup/${WEB}/${WEB}.${DATESTAMP}.sql.tar.bz2

Пока пришло в голову использовать CURL, но в мане не нашел каким образом заставить его грузить именно в папку.

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
for WEB in ${WEB_LIST}
do
    if [ ! -d ${BACKUP_DIR}/${WEB} ]; then
        mkdir ${BACKUP_DIR}/${WEB}
    fi
 
    pushd ${BACKUP_DIR}/${WEB}
 
    mysqldump -u root -p${DB_ROOT_PWD} ${WEB} --result-file=${WEB}.${DATESTAMP}.sql --verbose --single-transaction
    tar -cv --remove-files ${WEB}.${DATESTAMP}.sql | bzip2 -9c > ${WEB}.${DATESTAMP}.sql.tar.bz2
    tar -cv /opt/www/${WEB} | bzip2 -9c > ${WEB}.${DATESTAMP}.tar.bz2
    
    curl --upload-file ${WEB}.${DATESTAMP}.sql.tar.bz2  ftp://${USER}:${PASSWORD}@${ADDRESS}
    curl --upload-file ${WEB}.${DATESTAMP}.tar.bz2  ftp://${USER}:${PASSWORD}@${ADDRESS}
    popd
    
    find ${BACKUP_DIR}/${WEB}/ -type f -daystart -mtime +${BACKUP_RETENTION} -delete
done
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2015, 13:29
Ответы с готовыми решениями:

удаление файлов ftp curl php
$content = CURL_FTP($url, 0, 0); $arr = explode("\r\n", $content); foreach($arr as $v) $v !== ''...

Загрузка файлов через CURL
Всем привет, подскажите как через CURL загрузить файл, если при загрузке файла отправляется такой...

Аплоад файлов на сервер
Здравствуйте, Нашел в гугле заезженный код по отправке файлов на сервер procedure...

Передача файлов через ftp
Доброго времени суток, очень прошу помогите с реализацией задачи, есть самописный ftp клиент, он...

5
0 / 0 / 1
Регистрация: 08.01.2015
Сообщений: 3
19.01.2015, 13:46 2
Можно использовать ftp.
Примерно так:
Bash
1
2
3
4
5
6
7
8
9
10
11
ftp -in ${ADDRESS}  <<EOF
user ${USER} ${PASSWORD}
bin
prompt
#Каталог на удалённом сервере
cd ${BACKUP_DIR}
#Если нужно переход по каталогом локального компьютера
lcd ${LOCAL_BACKUP_DIR}
put ${WEB}.${DATESTAMP}.sql.tar.bz2
bye
EOF
0
10 / 9 / 2
Регистрация: 21.11.2013
Сообщений: 50
19.01.2015, 13:56  [ТС] 3
zxas, тут другая проблема, ftp стандартый не воспринимает interactive.
Запуск с параметрами он тоже не поддерживает, в связи с чем я от него и отказался в пользу curl.
0
0 / 0 / 1
Регистрация: 08.01.2015
Сообщений: 3
19.01.2015, 14:01 4
Лучший ответ Сообщение было отмечено Kuzia-22 как решение

Решение

Сделал так:
Bash
1
curl --upload-file   ${WEB}.${DATESTAMP}.sql.tar.bz2 ftp://${USER}:${PASSWORD}@${ADDRESS}/${WEB}/
Файл загрузился на сервер в каталог ${WEB} ("/" в конце обязательно).
0
10 / 9 / 2
Регистрация: 21.11.2013
Сообщений: 50
19.01.2015, 14:53  [ТС] 5
Теперь другая задача, аналог
Bash
1
find ${BACKUP_DIR}/${WEB}/ -type f -daystart -mtime +${BACKUP_RETENTION} -delete
но для FTP. Удалить файлы старше указанного количества дней.

Добавлено через 33 минуты
Перефразирую. Имеет ли смысл городить цикл в цикле и сравнивать modtime файлов, или есть способ проще?
0
Заблокирован
19.01.2015, 23:15 6
Самому - нет конечно, есть csync и компания не говоря уже об правильном пути проще - fusefs_ftp, а на него уже хоть rsync накидывай.
0
19.01.2015, 23:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2015, 23:15
Помогаю со студенческими работами здесь

Редактрование файлов через ftp
Ребята, подкажите, плз как можно через ftp редактировать XML-файл. Хочу написать приложение которое...

ASPImage и аплоад графических файлов
Друзья, в моем приложении через форму загружается графический файл JPG. Принимающий скрипт должен...

Готовый аплоад файлов от клиента.
Problema: V JSP Stoit teg '&lt;input type=file name=myname&gt;' Ne znaet li kto, kak polucit pri submit...

Заливка файлов по FTP через proxy
Собственно сабж. Облазил не только гугл, но и яндекс, не нашел нормального ответа. Вопросы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru