s3cmd, установить низкий уровень детализации

В настоящее время я использую s3cmd для синхронизации резервных копий с наших серверов на amazon s3. Я делаю это, используя cron, подобный следующему:

MAILTO=my@email.address
01 03 * * * s3cmd sync /root/backup/backups/ s3://somebucket/

Это всего лишь пример, файлы для синхронизации уже находятся в каталоге резервных копий. В настоящее время, когда я использую это, я довольно часто получаю предупреждения о неудачной загрузке (сброс соединения через одноранговый узел), а затем повторные попытки. После 1 или 2 попыток загрузка обычно происходит.

Что я хотел бы знать, так это то, могу ли я изменить многословность s3cmd таким образом, чтобы он регистрировал только выходные данные, когда он действительно выдавал ошибку, а не предупреждал, чтобы я получал электронные письма только тогда, когда мне нужно что-то посмотреть?

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

Спасибо

1 ответ

Если у вас есть более новая версия s3cmdпопробуйте --quiet (или же -q) вариант:

MAILTO=my@email.address
01 03 * * * s3cmd sync --quiet /root/backup/backups/ s3://somebucket/

Если нет, просто перенаправить STDOUT в /dev/null вот так:

MAILTO=my@email.address
01 03 * * * s3cmd sync /root/backup/backups/ s3://somebucket/ >/dev/null

Ошибки отправляются на STDERR поэтому они все равно будут отправлены по электронной почте.

ОБНОВЛЕНИЕ О S3CMD и STDERR:

Как отметил Вальгус, кажется, что s3cmd всегда регистрирует сообщения об отладке, информации, предупреждениях и ошибках в STDERR поэтому вышеперечисленные методы не будут работать.

Тем не менее, уровень детализации можно контролировать с .s3cfg файл (в данном случае он находится в домашнем каталоге для пользователя, связанного с заданием cron):

[default]
verbosity = ERROR

Уровень многословия ERROR в настоящее время не может быть настроен с помощью параметров командной строки.

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