![Как заставить мой Linux (Ubuntu) спрашивать пароль SQL, чтобы я не сохранял его в файле .sh?](https://rvso.com/image/109262/%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BC%D0%BE%D0%B9%20Linux%20(Ubuntu)%20%D1%81%D0%BF%D1%80%D0%B0%D1%88%D0%B8%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%20SQL%2C%20%D1%87%D1%82%D0%BE%D0%B1%D1%8B%20%D1%8F%20%D0%BD%D0%B5%20%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8F%D0%BB%20%D0%B5%D0%B3%D0%BE%20%D0%B2%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%20.sh%3F.png)
У меня есть файл скрипта, который немедленно создает резервную копию корневого каталога документов моего сервера и моих баз данных и копирует ее в мою терминальную систему, из которой я подключаюсь по SSH к среде моего сервера:
(
cd /var/www/html
zip -r ./html.zip ./
mysqldump -u USER -p PASSWORD --all-databases > ./db.sql
zip backup.zip html.zip db.sql
scp backup.zip /home/user/backups
rm ./html.zip ./db.sql ./backup.zip
)
Моя проблема:
Там, где это ПАРОЛЬ, мне нужно вручную вводить пароль. Это то, чего я хочу избежать, потому что я вбил этот пароль себе в голову и также часто его использую, и не хочу вводить его внутри скрипта.
Мой идеал:
Я бы предпочел, чтобы мне предлагалось вводить пароль каждый раз, когда я выполняю следующую команду (или что-то в этом роде):
mysqldump -u USER --all-databases > ./db.sql
Мой вопрос:
Возможно ли получить такую подсказку через сам Linux или через какую-то существующую утилиту?
решение1
Из страницы руководства mysqldump:
o --password[=password], -p[password]
The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the
--password or -p option on the command line, mysqldump prompts for one.
Specifying a password on the command line should be considered insecure. You can use an option file to avoid giving the password on the command line.
Просто опустите значение пароля в -p
флаге, и mysqldump запросит пароль.