Как произвести резервное копирование или синхронизацию FTP<->FTP управляя через SSH?

Linux FTP SSH shell backup

Есть Linux-shell в интернете. На нем установлен cron.
Хочу с консоли этого shell-а управлять процессом копирования (бэкапом).
Копирование должно производиться с одного FTP на другой FTP без участия в качестве "буфера" shell-а с cron-ом. (т.к. на нем по квоте нет места.)
Вот как это должно выглядеть:

Вариант_1 (преимущественный, т.к. не у всех сайтов есть свой SSH, а FTP у всех):

У нас есть FTP_1 (source) и FTP_2 (destination) и SSH (Linux-shell)

1. Через cron запускается скрипт на SSH.
2. Происходит авторизация на FTP_1
3. SSH дает команду копировать файлы с FTP_1 на FTP_2 в указанную директорию.
4. SSH дает команду на FTP_1 удалить ненужный файл резервной копии.

Как это реализовать? Сейчас читаю документацию по LFTP.

Вариант_2:

У нас есть:
Источник:
- FTP_1 и SSH_1 - на source-машине есть возможность пользоваться FreeBSD-shell но там нельзя редактировать cron-tab :-(
- FTP_2 - хранилище размером в 20Гб.
- SSH - Linux-shell на котором нормально работает cron НО нет места :-(

Алгоритм:

1. SSH авторизируется на SSH_1 используя авторизацию при помощи ключей
2. SSH удаленно дает команду SSH_1 сжать в tar.gz необходимые директории.
3. SSH дает команду SSH_1 скопировать tar.gz на FTP_2.
4. SSH дает команду SSH_1 удалить файл ненужный резервной копии.

Как можно реализовать пункт 3?

Дальше будет процесс восстановления. Но это уже отдельный вопрос. Для начала нужно "снять" копию. Желательно (ОЧЕНЬ желательно) с FTP на FTP без посредников и (если можно, о чем я не знаю наверняка...но вдруг) - со сжатием.

Примечание:
#Дополнение №1

- Rsync не работает на FTP_2
- на SSH_1 не работает LFTP

Примечание:
не пойму в чем дело. делаю put в binary режиме. Появляется полоса загрузки, все как будто бы в порядке, НО! файла на удаленной машине нет!!! (FTP_2). Директории пытался создавать - создаю - в SSH_1 через ftp>dir созданная директория отображается, через FileZilla смотрю - нет.( затем - пытаюсь удалить через SSH_1 - ftp>rm - директории удаляются и в SSH_1 и в FileZilla.

Примечание:
Проверил копирование с SSH на FTP_2 - копирует но с глюками. мб скорость медленная, но всеже файлы есть, а вот на SSH_1 - заметил странность (поставил массовое копирование mput) - получается при копировании на FTP_2 создаются временные файлы, но сразу после окончания передачи - файлы удаляются.

Примечание:
ftpfs и sshfs также не установлены.

Сейчас активно исследую вариант предложенный k_max (пока-что его метод наиболее подходящий), а также читаю документацию lftp (думаю с помощью lftp все получится).

Примечание:
Сегодня буду пробовать вариант от John Omega. Он вселяет надежду. =)
Ответы:
А вам точно нужно ftp? Почему спрашиваю - потому что есть инкрементальный rsync.
В файл $HOME/.netrc на SSH_1 запиши строчку: default login anonymous password anonymous@FTP_2
1-3 пункт:
ssh ssh_1 "cd /your/files ; tar -czf /tmp/backup.tar.gz *; echo 'put /tmp/backup.tar.gz' |  ftp FTP_2
А не проще смонтировать удаленную директорию при помощи ftpfs? Аналогично при отсутсвии ftp можно воспользоваться sshfs.
Еще вариант:


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.