Копирование / Резервное копирование всех файлов, кроме самого последнего с помощью scp

У меня есть программа, которая работает на нескольких машинах и которая записывает результаты в ~/data/machine_name/ , каждый раз, когда файл результатов превышает 1 ~/data/machine_name/ , программа переходит и записывается в новый файл. (Все машины имеют одну и ту же структуру каталогов).

Я хочу сделать автоматическое резервное копирование этих файлов в случае сбоя одного из компьютеров. Зная, что самый последний доступный файл – тот, который написан программой, и, следовательно, я бы скопировал все старые файлы, кроме этого. При следующем запуске задания резервного копирования будет включен последний файл, отсутствующий в предыдущей резервной копии, и так далее.

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

В любом случае, для этого? утилиту командной строки или скрипт для такой работы?

One Solution collect form web for “Копирование / Резервное копирование всех файлов, кроме самого последнего с помощью scp”

Вы можете использовать утилиту резервного копирования rsync с параметром --exclude :

 /usr/bin/rsync -avz --exclude='$EXCLUDED_DIR_OR_FILE' -e ssh /your/base/folder \ user@host_or_ip:/target/machine/path >> /optional/log/file.log 

Вы можете определить переменную $EXCLUDED_DIR_OR_FILE , найдя последний обновленный файл. Существует несколько способов найти последний обновленный файл в данном каталоге, один из которых использует утилиты ls и awk :

 ls -lrt | awk '{ f=$NF }; END{ print f }' 

Обратите внимание, что эта команда печатает последнее измененное file name а не полный путь к файлу.

  • Почему эта команда scp создает каталог на один уровень вверх?
  • Непрямое соединение SCP
  • Как скопировать файл с одного сервера на другой с помощью промежуточного сервера?
  • используя SCP для подключения к активному / порту?
  • Вывод цитат для scp
  • scp (v4) копирование с удаленного на несколько локальных имен файлов
  • как scp в mc (и помните)?
  • Сценарий оболочки для ssh на сервер Unix / Linux из MacOS X 10.10
  • Копирование большого дерева с одной машины на другую, сохранение права собственности
  • Rsync over ssh tunnel - использование сервера шлюза
  • передавать файл в удаленный каталог только в том случае, если он не существует без замены
  • Linux и Unix - лучшая ОС в мире.