Я записал сценарий удара и здесь являюсь моей проблемой. Сценарий работает в течение многих часов, и он никогда не завершается. Я вижу конец процесса импорта MySQL, но сценарий никогда не становится дальнейшим. Я попытался добавить echo
после команды MySQL, но я не вижу это echo
также. Это похоже, я никогда не получаю сообщение, что MySQL завершен.
Вот код для сценария удара:
#!/bin/bash
PASSWORD="password"
db="dbName"
file=`date +%Y%m%d`.$db.sql
gunzip $file.gz
mysql -u $USER -p$PASSWORD < $file
yest= date -d "yesterday 13:00 " '+%Y%m%d'.$db.sql
rm -f $yest
echo Done
обновление:
зарегистрированный этот импорт и я видим:
55 Query UNLOCK TABLES
55 Query /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */
55 Query /*!40101 SET SQL_MODE=@OLD_SQL_MODE */
55 Query /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */
55 Query /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */
55 Query /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */
55 Query /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */
55 Query /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */
55 Query /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */
55 Quit
как последняя команда в журналах, которая является последней командой в sql файле также.
это - то, где это зависает...
РЕДАКТИРОВАНИЕ: Лучший путь, просто используйте>> для добавления в файл.
Примечание моя ошибка это "завершено" не, ".quit"
mysql, вероятно, нужна команда "выхода" для выхода. Вы, возможно, должны были бы добавить это в .sql файл
#!/bin/bash
USER="user"
PASSWORD="password"
echo "User and Password Set."
db="dbName"
file=`date +%Y%m%d`.$db.sql
gunzip $file.gz
echo "DB File Unzipped"
echo "quit" >> $file #### append .quit command to end of file
echo "" >> $file #### just to make sure there is a return at the end of the previous line
mysql -u $USER -p$PASSWORD < $file
yest= date -d "yesterday 13:00 " '+%Y%m%d'.$db.sql
rm -f $yest
echo Done