2012-08-10 1 views
1

Я работаю над задачей резервного копирования (копирования) около 100 Гб данных (включая тысячу файлов и подпапок в каталоге) на другой сервер. Обычно для меньшего масштаба я могу использовать scp или rsync. Однако, поскольку другой сервер не находится в одной сети LAN, для выполнения задачи может потребоваться несколько часов или даже дней. Я не могу просто оставить свой компьютер там, где работает терминал. Я не думаю, что это лучший выбор, и снова у меня есть еще одна веская причина использовать Python :)Как мы можем передавать большие объемы данных по сети, используя Python?

Есть ли какая-нибудь библиотека или лучшая практика для меня? Поскольку это просто для внутреннего проекта, нам не нужны какие-либо причудливые функции, просто некоторые фундаментальные вещи, такие как каротаж, погрешность ошибок и т. Д.

+0

«Я не могу просто оставить мой компьютер там с терминалом работает.» - в чем проблема? Вы можете что-то запустить и заблокировать экран? Или вы не хотите оставлять свой компьютер там, где есть «есть»? –

+0

Привет, Грег, было 2 проблемы, да, я запускаю scp/rsync через терминал на ноутбуке, и мне нужно в конце концов двигаться. Во-вторых, с часами выполнения прогресса очень легко получить сообщение об ошибке соединения, если в моей домашней сети есть что-то еще. Вот почему я пытаюсь найти хорошее решение в Python. – mrblue

+3

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

ответ

3

Я думаю, что лучше всего использовать scp или rsync с экрана , Таким образом, вы можете отключить сеанс экрана и выйти из системы, и передача будет продолжаться.

man screen

+0

Привет, pizen, это значит, что я могу использовать _screen_, а затем заходить на сервер, а затем запустить rsync на другой, и выключить окна терминала, не останавливая прогресс? – mrblue

+0

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