Назад | Перейти на главную страницу

Как делать резервные копии файлов с помощью 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Вы порекомендовали мне другой инструмент?

Относительно вашего вопроса №4:

Вы можете смонтировать корзину S3 как локальный раздел и работать с файлами 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.

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