Mysqldump через SSH Не работает тихо с помощью crontab

Коллега пытается выполнить резервное копирование базы данных mysql на машине Windows с машины linux по расписанию. Машины linux и windows используют разные версии mysql, поэтому мы можем ' Запустить mysqldump на машине Linux и подключить его к машине Windows, поэтому вместо этого он запускает mysqldump на машине Windows через SSH и передает вывод в файл. Он написал сценарий, протестировал его, затем запланировал его с помощью cron (без проверки) и, конечно же, он потерпел неудачу - при запуске через cron SSH mysqldump не производит никаких выходных данных, поэтому размер файла резервной копии составляет 0 байт. Тот же сценарий, запущенный без cron, создает резервную копию mysql.

Вот тогда я и подключился.

Я повозился с ним разными способами. Я отправил env на диск, добавил подробности SSH, поинтересовался, имеет ли это какое-либо отношение к TTY, поэтому попробовал с -t , -tt и -T , но я до сих пор не понимаю, почему это не удается. Я могу видеть, добавляя -v к SSH, что соединение выполняется, аутентификация прошла успешно, команда отправляется. Единственная реальная разница состоит в том, что когда я планирую сценарий через cron, вывод mysqldump отсутствует.

Я могу опубликовать очищенный вывод журналов отладки SSH, если кто-то думает, что они помогут. Можно получить версии для Windows, CentOS и MySQL, если они актуальны. Рад пробовать предложения.

В конечном итоге мы, вероятно, сможем перенаправить вывод mysqldump на диск Windows, а затем скопировать файл, так что, вероятно, есть альтернативный путь к успеху, но я озадачен тем, что происходит, и я бы предпочел понять. ;)

0
задан 12 July 2017 в 02:20
1 ответ

Оказывается, это ошибка в OpenSSH для Windows, о которой я в конечном итоге нашел сообщение в блоге , которое, в свою очередь, связано с отчетом об ошибке .

Есть обходной путь, но он также исправлен, поэтому, если мы обновим OpenSSH в Windows, все пройдет.

0
ответ дан 24 November 2019 в 04:14

Теги

Похожие вопросы