Копирование / Резервное копирование всех файлов, кроме самого последнего с помощью 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 stdin: не является tty, и запись не удалась, сброс соединения с помощью одноранговой сети
  • почему rsync не выполняет дельта-перенос
  • загрузить файл / резервное копирование с удаленного сервера на рабочий стол без SSH или SCP?
  • Совместите все распределенные файлы в своем кластере
  • Копирование файлов с одного сервера на другой сервер без запроса пароля
  • Почему мой счетчик скинов на 8 МБ по сравнению с локальной сетью?
  • Почему определенный путь используется как имя файла при передаче файлов через scp на хост Windows?
  • Как скопировать файлы на удаленном сервере?
  • Как подключить передачу файла scp / ssh (pull) через tar (удаленный -> локальный перенос, инициированный с локальной машины)
  • Linux и Unix - лучшая ОС в мире.