0

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"

上記は問題なく動作しますが、私が抱えている問題は次のとおりです。

  1. リモートサーバーで .sh ファイルを作成してコマンドを入れる方法がわかりません

  2. このコマンドは、実行するたびにパスワードを要求します - パスワードを .sh ファイルに入れて、プロンプトを表示せずにバックグラウンドで実行できるようにする方法はありますか / またはコマンドでパスワードを定義しますか?

上記を解決する方法の例は大歓迎です。

私は、expect()ダイアログを使用できると信じていますが、繰り返しになりますが、私はそれに慣れておらず、そのドキュメントは私にとって少し混乱しています。

4

1 に答える 1

2

ssh接続にはパスワードが求められると思いますので、ssh接続をパスワードレスにすることができます。

ここでは、パスワードなしの ssh 接続について説明します: https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password

リモート サーバーでこの手順を実行した後は、上記で指定したコマンドを .sh ファイルに書き込むだけです。そして、これを定期的にバックアップするために cron に追加します。

于 2013-01-12T17:16:05.013 に答える