mysql データベースをローカルの NAS ストレージにバックアップするために、cron を使用して mysql データベースのバックアップをセットアップしようとしています。コマンドをサーバー上の .sh ファイルに保存し、cron を使用して実行したいと考えています。
これまでのところ、リモート サーバーからデータベースを NAS (QNAP) に保存するコマンドを取得できました。
mysqldump
--add-drop-table
--comments [database_name]
-u [database_username]
-p[database_password] |
gzip -c |
ssh [nas_user]@[nas_ip_address]
"cat > /share/mysqlBackup/backup-`date +%Y-%m-%d_%H-%M-%S`.sql.gz"
上記は問題なく動作しますが、私が抱えている問題は次のとおりです。
リモートサーバーで .sh ファイルを作成してコマンドを入れる方法がわかりません
このコマンドは、実行するたびにパスワードを要求します - パスワードを .sh ファイルに入れて、プロンプトを表示せずにバックグラウンドで実行できるようにする方法はありますか / またはコマンドでパスワードを定義しますか?
上記を解決する方法の例は大歓迎です。
私は、expect()ダイアログを使用できると信じていますが、繰り返しになりますが、私はそれに慣れておらず、そのドキュメントは私にとって少し混乱しています。