У меня есть сценарий sh для резервного копирования сервера базы данных.mysqldump in sh скрипт не работает
#!/bin/bash
mysqldump -u <username> -p<password> --all-databases --single-transaction --opt > /home/backup/h_157_2-1.sql
rsync -zrp --partial /home/backup/h_157_2-1.sql [email protected]<server-ip>:/home/backup/H_157_2/
Когда я выполняю эти две команды самостоятельно в командной строке, они работают, как и ожидалось, и я получаю .sql файл с содержимым. Но когда я выполняю скрипт файл содержит только это:
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
Я уже пытался изменить вверх порядок опций или оставить из --opt
, но результат был все тот же. Итак, что может заставить команду не работать в скрипте?
У вас возникла ошибка в синтаксисе mysqldump, поэтому файл заполнен результатом команды 'mysqldump' –
@ElzoValugi, что это за ошибка? И почему это работает, когда я копирую команду в строку comand и выполняю ее? – DocRattie
попробуйте '-A' вместо' -all-databases'. это сработало для меня –