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

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

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

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

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

  • Интерфейс Sftp для Scp
  • Невозможно scp в Дженкинсе
  • Файлы SCP без взаимодействия с пользователем
  • Переместить файл в домашний каталог другого пользователя (без sudo)?
  • Использование scp для передачи файлов на устройство Android
  • sftp для получения / загрузки файла .tar.gz
  • ошибки, пытающиеся передать через SCP
  • Как запустить два потока в сценарии оболочки bash?
  • 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 а не полный путь к файлу.

    Interesting Posts

    «Sed» переписать файл для отображения целых чисел и удалить оставшиеся символы

    tr не заменяет апостроф

    Можете ли вы изменить цель динамической ссылки без перекомпиляции?

    Как отобразить размер «удобочитаемый человек» в lsof | grep / var *

    Отключить AC приводит к остановке anacron. Не было возобновлено, если cron.daily уже начался?

    Установка PHP7.0 из sid на jessie

    Конкатенация последовательностей под заголовком

    Понимание перенаправленного if-утверждения в bash

    Как передать строки с одинарными кавычками в grep?

    Ограничить доступ к файлам только для добавления

    Есть ли способ сделать этот однострочный лайнер быстрее?

    Скрытие пароля в сценариях оболочки

    udev: не добавлять события вообще, когда определенное устройство было удалено во время использования

    Как узнать, загрузился ли установщик Debian в режиме UEFI или нет?

    Проблемы с загрузкой пользовательского 64-битного ядра v3.19

    Linux и Unix - лучшая ОС в мире.