crontab経由のMySQLdump - プレーンテキストパスワードを使用せずにcrontab経由で使用できるように、 --password=/hashed/password/file を渡します。

crontab経由のMySQLdump - プレーンテキストパスワードを使用せずにcrontab経由で使用できるように、 --password=/hashed/password/file を渡します。

だから私はWordPressバックアップガイドを設定/バックアップ計画を自分で作っています。

毎日MySQLダンプを実行したいのですが、コマンドには次のものが必要です。

-p then user input 

または

--password="plain text password"

セキュリティを強化するためにMD5以降にハッシュされ保護されたファイルにそれを渡すことはできますが、コマンドにユーザー入力を必要としないようにすることはできますか?

助けてくれてありがとう!

ちなみに私が実行したい命令は次のとおりです。

mysqldump -u [username] --password=~/wp_backups/sqldumps/.sqlpwd [database name] > ~/wp_backups/sqldumps/"$(date '+%F').sql"

ベストアンサー1

次のパスワードオプションがあります。

  • -pオプションでコマンドラインにパスワードを提供する
  • MYSQL_PWD環境変数によるパスワードの提供
  • ~/.my.cnfセクション[mysqldump]の下のファイルに設定を置きます。

すべての場合において、クライアントは認証にプレーンテキストパスワードを必要とします。ハッシュについて言いましたが、ハッシュの特性は一方向変換機能(つまり、ハッシュから元のパスワードを回復できない)なので、認証トークンとして使用することはできません。

WordPressをホストしているのと同じアカウントからWordPressデータベースをバックアップすることが知られているため、WordPressを実行しているユーザーにパスワードを隠してもセキュリティは向上しません(wp-config.phpとにかくデータベースの資格情報はファイルから簡単に抽出できます)。

したがって、以下を定義することをお勧めします~/.my.cnf

[mysqldump]
host = your_MySQL_server_name_or_IP
port = 3306
user = database_user_name
password = database_password

次に、ファイルに0600権限があることを確認してください。このアプローチmysqldumpでは、コマンドラインでデータベースの資格情報を指定する必要はありません(ファイルから読み取る)~/.my.cnf

おすすめ記事