Как сделать резервное копирование файлов с помощью logrotate и Amazon S3?

Я хотел бы создать новый стандарт двух вещей:
как долго будут генерироваться и вращаться журналы, сгенерированные моими приложениями?
Как перенести логи в Amazon S3, в качестве резервного сервера?

Я думал использовать logrotate, чтобы вращать и сжимать мои ежедневные файлы следующим образом:

{filename}-{year}-{month}-{day}-{r-months}.gz

r-months переменные средства remain-monthsНа сколько месяцев файл должен оставаться в S3, файлы старше этого должны быть удалены.

Мой друг, дай мне идею, я должен compress the logs daily (в новом формате, предложенном выше), после этого эти файлы должны быть отправлены в нашу корзину в Amazon S3. затем files older than 7 days should be removed by logrotate(потому что они уже в S3).

В наши дни наши приложения используют log4j и другие для создания журналов.

1) Стоит ли отключать журналы версий, сгенерированные нашим приложением, и обрабатывать их только с помощью logrotate?
2) Как вы думаете, это могло привести к сбою приложения?
3) Этот новый формат журнала, это хороший?
4) А как отправить файлы на S3? Теперь я использую s3cmd, вы рекомендовали мне другой инструмент?

1 ответ

По вашему вопросу № 4:

Вы можете смонтировать S3 bucket как локальный раздел и работать с файлами S3 так, как они были расположены в файловой системе вашего сервера. Есть много хороших инструментов с открытым исходным кодом.

Но со своей стороны я бы порекомендовал вам взглянуть на мой проект: RioFS, файловая система пользовательского пространства для монтирования корзин Amazon S3. Цели проекта и основные преимущества по сравнению с другими подобными инструментами: простота, скорость выполнения операций и отсутствие ошибок в коде.

В настоящее время проект находится в состоянии "бета", но уже довольно давно он работает на нескольких высоконагруженных файловых серверах ( RioFS предоставляет доступ к расположенным на S3 файлам на серверы ftp / sftp).

Мы строим сообщество вокруг нашего проекта и ищем больше людей, чтобы присоединиться к нашему проекту, чтобы обсудить планы на будущее и помочь с тестированием. Со своей стороны мы предлагаем быстрое исправление ошибок и выслушаем ваши запросы на добавление новых функций.

Краткое руководство:

Вы можете смонтировать корзину, используя следующую команду (при условии, что вы установили RioFS и экспортировали переменные среды AWSACCESSKEYID и AWSSECRETACCESSKEY):

riofs http://s3.amazonaws.com your_bucket_name /path/to/localfolder

(пожалуйста, обратитесь к описанию проекта и запустите riofs --help чтобы получить помощь с аргументами командной строки)

Пожалуйста, обратите внимание, что проект все еще находится в разработке, может быть еще несколько ошибок. Если вы обнаружите, что что-то работает не так, как ожидалось: заполните отчет о проблеме на странице проекта GitHub.

Надеюсь, это поможет, и мы с нетерпением ждем встречи с вами в нашем сообществе!

Другие вопросы по тегам