08. 6月 2012 · Write a comment · Categories: WEB制作 · Tags: ,

Backups are important

PHPでcronなりなんなりで下記を動かそうと思ってました。

system(“pg_dump -d database -t table > bkupYmd.sql”, $return_code?);

だけど動かず・・・。動かないというか、$return_codeは127が返ってきて、sqlファイルはできるんだけど中身が空っぽ。

exec(“su -l postgres -c ‘pg_dump -d database -t table > bkupYmd.sql’”);

と、ユーザを指定して動かそうとしても同様。

exec(“/usr/bin/pg_dump -d database -t table > bkupYmd.sql”);

と、パスを指定すると、1が返ってきたけどやはりファイルは0バイト。

たぶんユーザ権限のあたりなんだろうと見当はつくものの、サーバの状況がすぐわからない状態だったのですぐにどうこうできるものでもなく。

考えを改めて、下記を参考にすることにしました。

pg_dump が使えないけどバックアップしたい+CakePHP – makogの日記

CakePHPを使ってるわけではないけれど、要するに pg_copy_to を使えばいいことがわかった。ほしかったのは限定されたテーブルだったし、ちょうどいい。これで出力されたものをファイルに保存しておく。

毎日動かすようにしてバックアップ取ればひとまず安心かなー。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA