1

Я пытаюсь сделать резервную копию таблицы своей базы данных каждый день, используя mysqldump, screen и crontab. Если я запускаю только mysqldump , он выводит корректно, но если я делаю это через screen , выходной файл будет пустым.

Редактирование Crontab

crontab -e

Добавление команды

0 0 * * * screen -dmS MYDATABASE_MYTABLE_backup mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

1 ответ1

0

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

myscript.sh:

#!/bin/sh
mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

screen -dmS MYDATABASE_MYTABLE_backup myscript.sh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .