Копирование новейших файлов

У нас есть сценарий, который собирает отчет, созданный ежемесячно на удаленных серверах. Я пытался найти способ получить последний файл только с удаленных серверов. Найдете работу в скрипте или это плохая практика?

for host in "${hosts[@]}"; do scp "$host":"$remote_path" "$local_target_dir"/filename."$host" done 

Формат файла = servername_BBC-3.0_2014-06-04_164510_.txt

2 Solutions collect form web for “Копирование новейших файлов”

Вы можете запустить ls -rt через SSH на сервере в каталоге, чтобы узнать последний измененный файл (на основе его последней даты модификации вместо имени файла)

 fileToCopy=$(ssh "$host" "cd $remote_path && ls -rt | tail -1") scp "$host":"$remote_path"/"$fileToCopy" "$local_target_dir"/filename."$host" 

Я предлагаю найти подтверждение вашей даты и учитывать последнюю резервную копию, например:

 #!/bin/bash day=${date +%d} last_month=${date -d "-1 month" date +%Y-%m-%d} if [ $day -eq 15] then echo "Is 15th, time to make get last backup!" scp -P port user@server:/dir/servername_BBC-3.0_$last_month* destination fi 
  • Получить строки между двумя временными метками из файла
  • Каков наиболее эффективный способ добавления миллисекунд к этому коду?
  • получить исходную дату создания html-файла
  • Преобразовать временную метку unix в hh: mm: ss: SSS (где SSS - миллисекунды) в AWK
  • Как отсортировать файлы в Bash с помощью ddmmyy timestamps в имени
  • Копирование только новых файлов
  • Calc добавляет '(апостроф) при импорте времени из CSV
  • команда / opt / bin / date -date '-15 минут 2016-04-27T14: 14: 47' результат за много часов до указанного времени
  • Каково законное использование команды `touch`?
  • Почему «touch -a» также устанавливает ctime?
  • Почему прикосновение может меняться только все время, или ничего, если не владелец
  • Linux и Unix - лучшая ОС в мире.