Lakika
@Lakika
Sicario

Как на bash написать отправку rclone последнего файла в директории?

Здравствуйте!
Подскажите пожалуйста, есть скрипт бэкапа файлов, который копирует базу мускуля и папки сайта, далее архивирует и хранит их в директории backup.

Нужно сливать эти бэкапы в облако, нашел облако, подключил его к rclone, но встал вопрос, как автоматически, сливать файлы из папки бэкап в облако через rclone?

Как на баше написать, чтобы скрипт заходил в папку backup, и среди всех файлов, брал последний созданный, и сливал его далее в облако?
Команда слива выглядит вот так: rclone copy /root/backup/имя файла Drive:Back/BackFile (имя файла, это если вручную сливать по одному)

а архивы в папке выглядят вот так:

06-дек-11-36.7z
06-дек-12-36.7z
06-дек-13-36.7z
06-дек-14-36.7z
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
@brar
Варианты на выбор:
https://www.baeldung.com/linux/get-recent-file-in-...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Drno
вообще то rclone предназначен для СИНХРОНИЗАЦИИ папок...

мож лучше rsync?
Ответ написан
Комментировать
@pfg21
ex-турист
неправильная постановка задачи дает неправильное решение :)
используй rclone copy source:path dest:path [flags]
для аккурат которого и писано
Copy the source to the destination.
Does not transfer files that are identical on source and destination, testing by size and modification time or MD5SUM. Doesn't delete files from the destination. If you want to also delete files from destination, to make it match source, use the sync command instead.

в локальной папке делаешь бекапы и копируешь клоуном всю папку на удаленку - пересылаться будут только новые бекапы.
после копирования на удаленку локальный файл можно удалять (сразу или когда либо позже). на удаленке он уже не удалится.
Ответ написан
Комментировать
Lakika
@Lakika Автор вопроса
Sicario
Спасибо, решил,
получаю последний созданный файл в моей папке и присваиваю в переменную имя
find /archive/ -type f -printf "%T@ %p\n" | sort -n | cut -d' ' -f 2- | tail -n 1 $lastFileName
А дальше просто отправляю переменную в облако
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы