scp сообщает о продвижении к выходу cron
Я использую scp для резервного копирования данных. Когда я получаю вывод cron (используя файл crontab для операций cron) с почтой, я не получаю никакого вывода. Операция scp выполнена успешно.
Итак, в терминале я получаю, например: test.file 100% 1489KB 1.2MB/s 00:00
Но в выводе cron я не получаю вывод команды.
Кто-нибудь знает, как это сделать или каким другим способом вы используете информацию о команде?
Благодарю.
1 ответ
Обычно cron хорош в отправке любого вывода терминала из своих заданий на учетную запись электронной почты для пользователя в том окне, под которым он был запущен. Иногда люди устанавливают задания cron с специально перенаправленным или подавленным выводом, чтобы этого не происходило. Убедитесь, что это не так. Если вам нравится, вы можете опубликовать свою строку crontab здесь, и мы можем сказать вам.
Кроме того, чтобы получить электронное письмо, необходимо либо проверить почтовый ящик пользователя в поле, в котором выполняется задание, либо настроить его для маршрутизации куда-либо еще. Обычно это можно сделать с помощью системного псевдонима электронной почты, который часто находится в /etc/mail/aliases. Например, во всех моих коробках есть строка с надписью "root: caleb@mydomain.com", так что я получаю электронные письма для всех заданий cron, запускаемых от имени root.
Редактировать 1: Очевидно, scp обнаруживает, когда он запускается из терминала, и изменяет его вывод на тихий, когда это не так. Добавление -v должно переопределить это поведение.
Изменить 2, альтернативное решение: я настоятельно рекомендую использовать rsync
вместо scp для такого рода операций. Он разработан с учетом такого рода повторяющихся синхронизаций, обрабатывает случаи, например, возможность переноса только обновленных частей файла или каталогов и т. Д. Его вывод также больше подходит для использования в cron. Вы все еще можете использовать ssh для транспорта и аутентификации: rsync -e ssh -v source_file_or_dir user@remotehost:dest_file_or_dir
, Добавление -a
для режима архива для синхронизации рекурсивных каталогов и сопоставления свойств файла и --delete
включить удаление удаленных файлов, не найденных локально, являются общими вариантами. Обязательно заканчивайте оба исходных аргумента ad dest конечной косой чертой (/), если вы синхронизируете каталоги.