LINUX.ORG.RU

Скрипт для удаленного копирования файлов через FTP

 ,


0

1

Уважаемые пользователи! Нужно перенести бэкапи из одного сервера на другой сервак

Вот протестировал данный скрипт, работает, вот только нужно чтобы он не все перенес а только новые бэкапи, а те которые уже есть на другом не переносил. Прошу помочь с данной задачой

#!/bin/bash HOST=IP USER=user PASSWORD=password

ftp -inv $HOST <<EOF user $USER $PASSWORD lcd /home/backup mput *.tar.gz fi bye EOF

Также есть rsync через ssh

И вроде lftp

ism ★★★
()
Последнее исправление: ism (всего исправлений: 3)
Ответ на: комментарий от okamigo

д смотрел этот rsync, просто интересно нельзя ли только скриптом обойтись

Можно, конечно! Только скрипт надо поправить - заменить «ftp» на «rsync».

MumiyTroll ★★★
()

ftp очень старая и примитивная программа, и для скриптов не предназначенная. Используй луче lftp.

LFTP_PASSWORD=password lftp -u $USER --env-password $HOST  <<EOF

lcd /home/backup
set ftp:use-mdtm-overloaded on
mirror -R -f *.tar.gz
bye
EOF

Файлы, которые уже есть не будут закачаны повторно.

Если сервер ругается, то set ftp:use-mdtm-overloaded on можно убрать - оно заставляет сохранять время изменения файла на получателе такое же как на источнике. Почитай man lftp там куча всего полезного, например, можно автоматически удалять файлы на источнике или наоборот удалять на получателе файлы, которых нет на источнике, обходить директории рекурсивно и многое другое.

legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.