
cronを使って、CSVファイルのデータをMYSQLへ定期的に投入したいのですが、
色々試行錯誤してみてもうまくいきません。
(試しにmkdirを実行し、cronが動作していることは確認済みです)
以下が試行錯誤の内容です。
【1】
MYSQLIMPORT文を使用。
mysqlimport --host=ホスト名 -u ユーザ名 --password=パスワード --local --replace DB名 "ファイル名(フルパス)"
SSHからの実行で動作確認をした文をそのままcronに登録しましたが、データは投入されず。
【2】
LOAD DATA INFILE文を使用
mysql --local-infile=1 --host=ホスト名 -u ユーザ名 --password=パスワード <<eof
use DB名;
LOAD DATA LOCAL INFILE 'ファイル名(フルパス)' INTO TABLE テーブル名 FIELDS TERMINATED BY ',';
命令はShellにまとめて書き、呼び出しました。
同様にSSHでは動作したものの、cronでは動作せず。
【3】
まずはDBを更新できるかどうかの確認を行うため、MYSQL接続とINSERT文をShellに書き出しました。
mysql --host=ホスト名 -u ユーザ名 --password=パスワード <<eof
use DB名;
INSERT INTO テーブル名 VALUES (1,1,1,1,1);
SSHで動作確認したShellをcronで実行させたが、更新されず。
【4】
PHPスクリプトの実行
PHPを使って更新出来ないかテスト。
こちらもSSHでは動作したものの、cronとなると動作せず。
単純なINSERT文すら実行出来ないことから、cronではレコードを更新できないのでは?と思い始めております。
なにか設定が必要だったり、見落としている点があれば、ご教授ください。
サーバーはさくらサーバーで、MYSQLのバージョンは4です。
cron以外での実装方法があれば、そちらも併せてご教授ください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
-e オプションを使ったらどうでしょう?
例) ----------------------------------------------------------------
mysql --local-infile=1 --host=ホスト名 -u ユーザ名 --password=パスワード -e "use DB名; LOAD DATA LOCAL INFILE 'ファイル名(フルパス)' INTO TABLE テーブル名 FIELDS TERMINATED BY ',';"
--------------------------------------------------------------------
参考URL:http://dev.mysql.com/doc/refman/5.1/ja/mysql-com …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル内置換
-
batファイル 行った履歴をテキ...
-
exeファイルの実行結果をテキス...
-
累積動作時間とはなんですか?
-
jp-106のキーボードを使用する...
-
ソフトのインストール場所って...
-
アプリケーションをインストー...
-
OS インストール場所確認
-
ログに特定の文字が含まれてい...
-
BootCamp環境を外付けHDDに入れ...
-
Open Office Org 急に起動しな...
-
cygwinでno such file or direc...
-
Linux環境変数設定(putenv?se...
-
VMware Playerの仮想マシン
-
Androidエミュレータでレーシン...
-
teamwareについて
-
SolarisでJDKのインストール情...
-
Macで元から入っているRubyは消...
-
EPSON CD Direct Print3をダウ...
-
バッチスクリプト処理でエラー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル内置換
-
exeファイルの実行結果をテキス...
-
linuxのsshの反応が非常に遅い。
-
コマンド実行結果のファイル出力
-
USBメモリ内のバッチで書き出す...
-
メーリングリスト宛てのメール...
-
batファイル 行った履歴をテキ...
-
【Mac/Xcode】カレントディレク...
-
batが動かない
-
cron で rsync が実行できない
-
デバッグ停止中 一つ戻る
-
dsmoveコマンドをBATファイルで...
-
Mac OS ventura のapplescript...
-
リモートコンピュータの再起動...
-
IIS(アイルサーバー)で拡張子...
-
ftpのgetが正常できる方法について
-
コマンドプロンプトのFOR文がダ...
-
シェルスクリプト
-
バッチファイル 文字列操作の...
-
cronを使って、CSVファイルのデ...
おすすめ情報