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

Оповещение о сбое загрузки файла / каталога

Я использую Ubuntu, и мне нужно знать, есть ли способ выдать предупреждение, если операция копирования / загрузки файла не удалась. Сценарий такой:

У меня на компьютере / сервере есть файл xxxxx. Однако обычный файл xxxxx копируется на другой сервер в удаленном месте. Есть ли какое-либо решение, которое уведомит меня, если файл не был успешно передан? Я использую инструмент Zabbix Monitoring. Я уже пробовал функцию diff, но я не хочу сравнивать два файла, мне просто нужно получить предупреждение, если файл / каталог не достигли места назначения. Помогите пожалуйста очень срочно.

В зависимости от вашей ситуации можете ли вы проверить код выхода приложения, с помощью которого выполняется копирование? Вы можете получить это значение в bash через $ ?. Так, например, если вы использовали scp

# Successful copy
$ scp myFile remote.example.com:.
$ echo $?
0

# Unsuccessful copy
$ scp myFile remote.example.com:.
$ echo $?
1

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

Если вам нужно вместо этого подтвердить идентичность файлов, вы можете использовать команду md5sum (или md5 в некоторых ОС, таких как OS X).

$ echo "This is a test" > myFile
$ scp myFile remote.example.com:.
$ md5sum myFile # Local value
ff22941336956098ae9a564289d1bf1b  myFile
$ ssh remote.example.com "md5sum myFile"  # Remote value
ff22941336956098ae9a564289d1bf1b  myFile

Все это должно быть достаточно легко добавить в любой сценарий, который вы используете для резервного копирования.

Я новичок в zabbix, но постараюсь помочь.

Как копировать файлы с одного сервера на другой? Если у вас есть доступ к тем процедурам, которые копируют файлы, вы можете попробовать вызвать zabbix_sender для доставки сообщения Zabbix серверу об ошибке копирования в случае, если у вас есть исключение во время копирования файлов.

https://www.zabbix.com/documentation/2.0/manpages/zabbix_sender