11

FreeBSD を実行している Web サーバーでバックアップ cron ジョブを作成しようとしました。現在、次のようになっています。

/usr/local/bin/mysqldump --opt --single-transaction --comments --dump-date --no-autocommit --all-databases --result-file=/var/backups/mysql/all.sql

ルートとして実行すると正常に動作します(ルートには.my.cnf接続に使用されるユーザー名とパスワードが含まれているためですが、ジョブがcronによって実行されると、my.cnfファイルは読み取られません.

コマンド自体にユーザー名とパスワードを入力する必要なく、それを回避する方法はありますか (それはちょっと安全ではないため)。

不思議なことに、私は PostgreSQL と.pgpassファイルで同じ設定を行っており、それは魅力のように機能します。

4

4 に答える 4

18

--defaults-extra-fileオプションを使用して、.my.cnfファイルの場所を指定します ( mysqldump.

于 2009-03-02T11:57:49.217 に答える
2

それは奇妙なことに、cron は .my.cnf を読み取る必要があります。/etc/crontab または crontab -e で cronjob をどのように実行しますか? mysqldump を使用する小さなシェル スクリプトであるAutoMySQLBackupを使用してみることができます。

于 2009-03-02T11:56:03.730 に答える