crontabを実行してmysqlのバックアップを取ろうとしています。
まず、以下のunixコマンドでバックアップできることを確認しました。
mysqldump -u *** -p*** abc_db > /file/dump/db_backup_`date +%Y%m%d-%H%M%S`.sql
これをcrontabで実行するためにphpファイルにして以下のように記述しました。
<?php
$output = shell_exec('mysqldump -u *** -p*** abc_db > /file/dump/db_backup_`date +%Y%m%d-%H%M%S`.sql');
echo "<pre>$output</pre>";
?>
このファイルを実行すると以下のメッセージが返されます
/***/sql_backup.php: line 1: ?php: そのようなファイルやディレクトリはありません
/***/sql_backup.php: line 2: syntax error near unexpected token `('
/***/sql_backup.php: line 2: `$output = shell_exec('mysqldump -u *** -p*** abc_db > /file/dump/db_backup_`date +%Y%m%d-%H%M%S`.sql');'
phpでコマンドを実行するにはshell_execを使うとあり、試してみたのですが、こういう方法では使えないのでしょうか?
最終的にはcrontabを使ってmysqlのバックアップが取れれば良いので、他に方法があるようでしたら教えて頂ければ助かります。
宜しくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
まずphpが置いてあるパスを確認しましょう
which php
を打ってみてください。
そして例えば、
/usr/bin/php
と表示されたらこれを覚えておいて自作のphpファイルと併せて次のように打ってみましょう
/usr/bin/php /home/user/appli/bin/backup.php
これで動くのではないでしょうか
No.3
- 回答日時:
phpスクリプトのつもりで作ったものが残念ながらbash等のシェルスクリプトと
して解釈されているようです。
仮にphpのパスが/usr/bin/phpでphpファイル名がbkup.phpだとするなら
/usr/bin/php bkup.php
とすれば動くんじゃないでしょうか
この回答への補足
/var/spool/cron/userでは同様の設定をしているのですが....
それ以前に、telnetからパスをたたいて実行しようとしていて、上記のような症状が出ています。
No.2
- 回答日時:
そもそもphpとして実行されていませんね。
お使いのサーバでのcronの書き方は確認されていますでしょうか?つまり「拡張子が.phpであればcronでphpスクリプトとして実行される」ことは確認されていますか?
シェルスクリプトにして、
#!/bin/sh
/usr/local/bin/php (phpスクリプトのサーバパス)
などと書かないといけない環境などもありますので。
>最終的にはcrontabを使ってmysqlのバックアップが取れれば良いので、
phpで書く必要がなければ、単にshellで
#!/bin/sh
mysqldump -u *** -p*** abc_db > /file/dump/db_backup_`date +%Y%m%d-%H%M%S`.sql
でもいいのでは?
なお「#!/bin/sh」が必要なのかどうか(またshell名が妥当か)はサーバの仕様を確認してください。
この回答への補足
ありがとうございます。
#!/bin/sh
mysqldump -u *** -p*** abc_db > /file/dump/db_backup_`date +%Y%m%d-%H%M%S`.sql
をbackup.shとして保存し実行できました。
が、/var/spool/cron/user 側の設定がわかりません。
0 1 * * *
のように起動時刻を設定した後、backup.shへのパスを書くだけでは実行できないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHP MySql ページング 2 2022/09/20 06:38
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでincludeから取り込んだphp...
-
phpinfo.phpを開くとファイルの...
-
MySQLの配置が変わったため、db...
-
別ファイルの変数を呼び出した...
-
mysqlの自動バックアップ
-
【PHP】include()で余計な文...
-
onedrive にexcelファイルをア...
-
バッチを用いたフォルダの自動移動
-
MIB取得について
-
csvファイルの読込みとソート
-
$_SESSION 有効期限をブラウザ...
-
one drive のアップロード失敗...
-
PHPのif文でその処理を途中で抜...
-
VBSの「MsgBox」について
-
存在しないメールアドレスかど...
-
URLの変わらないページをPHPで...
-
imgタグでのphpの呼び出しについて
-
$_SERVER と $_ENV の違い
-
HYのAM11:00のラップの部分の歌...
-
phpでクラスのメソッドで同名の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
include先でのinclude元の変数...
-
phpinfo.phpを開くとファイルの...
-
phpのソースコードが、そのまま...
-
Javascriptで解凍のコマンドは...
-
phpのプログラムエラー
-
codeigniterでcron実行したい
-
1行目の#! "C:\\xampp\\php\\p...
-
拡張子をphpではなくcgi...
-
Fatal errorについて教えてくだ...
-
CGIタイプのPHPとは・・・?
-
テンプレート化したphpのmenu.p...
-
FPDFでPDFファイルが表示されない
-
ローカルでは動くがサーバーで...
-
cronで外部ファイルへアクセス
-
PHP(.php)及びJavascrpit(.j...
-
このたびpostgresql初めて使用...
-
プログラミング初心者です 先程...
おすすめ情報