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
в настоящее время не может быть настроен с помощью параметров командной строки.