SQL-DBを作成。
センサーのデータが入ってきたと想定して、
ダミーでデータを毎時入れていく準備をする。
それをPHPでWebでのぞく。。という準備まで、、、やってみる。。。
—————
まず復習、単純に値が入るか?
INSERT INTO `t_sensor`(`No`, `timestamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (6,20161128221300,3,4,”need”,”test”)
INSERT INTO `t_sensor`(`No`, `timestamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (6,20161128221300,3,4,”need”,”test”)
1件ずつはこれで入った!
—————
でも改行。これで改行される。
echo “<br />\n”;
—————
—————
タイムスタンプは自動でいれたい。。。
INSERT INTO `t_sensor`(`No`, `timestamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (6,CURRENT_TIMESTAMP,3,4,”need”,”test”)
—————
Numも自動(Auto_Increment)で作成したい。phpmyadminで設定。
INSERT INTO `t_sensor`(`Num`, `time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (1,CURRENT_TIMESTAMP,3,4,”need”,”test”)
—————
phpmyadminのSQLで実行できるコマンドになりました。¥!!!
INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,3,4,”need”,”test2″)
INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,3,4,”need”,”test2″)
INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,30,40,‘no_need’,‘test20161202_2330’)
<会社でうまく行ったSQL文例(”でなく’を活用)>
INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,3,4,‘no_need’,‘2016/12/1 test4’)
実際の様子。
SQL準備>>>
その結果>>>
—————
これをファイルに保存。今回は、「file_name2」に。
場所は、/rootへ
—————
で、ファイルから実行してみる!!
# mysql -u root -pyoshihara20160805 20161129_sensor < file_name2
http://160.16.50.187/20161129_disp_inst.php
入ってます!!
—————
Shellを作ります。
[root@tk2-201-10183 ~]# vi 20161130inst.sh
#!/bin/sh
mysql -u root -pyoshihara20160805 20161129_sensor < file_name2
—————
実行権限をつけます!!!
chmod +x 20161130inst.sh
—————
シェルの単独実行!!
[root@tk2-201-10183 ~]# ./20161130inst.sh
増えてます!!!
—————
時間起動するように、crontabを設定します。
/etc/crontabを編集
suでrootになります。
$ su –
エディタで/etc/crontabを編集します。
次のような行を最後に追加します。
この例では毎日毎時:01分に、自動的にSQL動きます。
1 * * * * root /root/20161130inst.sh
crondを再起動します。
/etc/rc.d/init.d/crond restart
後は、明日を楽しみに待ちましょう。
自動的に貯まっているはずです。
suでrootになります。
$ su –
エディタで/etc/crontabを編集します。
次のような行を最後に追加します。
この例では毎日毎時:01分に、自動的にSQL動きます。
1 * * * * root /root/20161130inst.sh
crondを再起動します。
/etc/rc.d/init.d/crond restart
後は、明日を楽しみに待ちましょう。
自動的に貯まっているはずです。
はたして??????
—————
、、、、でダメだった。のでやり直し!。。。
https://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
を参考に。
cron を使用するためには、crond が起動、その確認
/etc/rc.d/init.d/crond status
/etc/rc.d/init.d/crond status
——————–
これらのディレクトリは、
「/etc/crontab」ファイルによって呼び出され、
指定時間ごとに、配下にあるシェルスクリプトを実行
なので、時間毎のディレクトリへ
これらのディレクトリは、
「/etc/crontab」ファイルによって呼び出され、
指定時間ごとに、配下にあるシェルスクリプトを実行
なので、時間毎のディレクトリへ
cd /etc/cron.hourly
——————–
実行ファイルを作成
実行ファイルを作成
vi 20161201_h_sql_inst
——————–
中身は、、、
中身は、、、
#!/bin/sh
/root/file_name2
——————–
保存したら、実行権を付与
保存したら、実行権を付与
chmod 755 /etc/cron.hourly/20161201_h_sql_inst
——————–
で待つ。。。。。**:01を。。。。
はたして?????
——————–
残念・・・・ダメ。。。。
なので、次は、単独でうまくいっていた下記のシェルを**:30に起動で設定してみる。。。
なので、次は、単独でうまくいっていた下記のシェルを**:30に起動で設定してみる。。。
vi 20161201_h_sql_inst
で、
/root/20161130inst.sh
と書く。。。
*************************
(2016/12/3 24:00)
まずphpmyadminからSQLがinsertできるか?
INSERT INTO `t_sensor` (`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,40,40,’no_need’,’2016/12/1 test4′)
INSERT INTO `t_sensor` (`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (CURRENT_TIMESTAMP,40,40,’no_need’,’2016/12/1 test4′)
OKなので、次にファイルから実行できるか?
# mysql -u root -pyoshihara20160805 20161129_sensor < file_sql_ist1
# mysql -u root -pyoshihara20160805 20161129_sensor < file_sql_ist1
OKなので、次にuserをraspaiに変えてやってみる
まずユーザraspaiを作る
>MySQLから
GRANT ALL PRIVILEGES ON *.* TO ‘raspai’@’127.0.0.1’ IDENTIFIED BY ‘Aa123456’;
まずユーザraspaiを作る
>MySQLから
GRANT ALL PRIVILEGES ON *.* TO ‘raspai’@’127.0.0.1’ IDENTIFIED BY ‘Aa123456’;
OKなので、次にファイルから実行できるか?
# mysql -u raspai -pAa123456 20161129_sensor < file_sql_ist1
入った!、ただし、hostnameは、「127.0.0.1」でなく「loclahost」に変更!
# mysql -u raspai -pAa123456 20161129_sensor < file_sql_ist1
入った!、ただし、hostnameは、「127.0.0.1」でなく「loclahost」に変更!
一般ユーザーを、raspaiという名前で作ってみます。
# adduser raspai
raspaiのパスワードを決めます。passwdコマンドでパスワードを設定。
# passwd raspai
(Aa*****6)
# adduser raspai
raspaiのパスワードを決めます。passwdコマンドでパスワードを設定。
# passwd raspai
(Aa*****6)
次にcrontabをコマンドで指定してみる。
# crontab [- u user] {-l|-r|-e}
なので、
rootユーザが、testユーザの crontabファイルを表示する場合。
# crontab -l -u test
だから、、、
# crontab -e -u raspai
# crontab [- u user] {-l|-r|-e}
なので、
rootユーザが、testユーザの crontabファイルを表示する場合。
# crontab -l -u test
だから、、、
# crontab -e -u raspai
まあ、、やったので、また待ってみるか。。。。。
(またダメかな。。。自信なし。。)
*********************************
ついに!!できた!(2016/12/03 15:45)
一般ユーザーを、raspaiという名前で作ったのでそれで入る
ID raspai, Pass Aa****6
ID raspai, Pass Aa****6
crontabの設定を確認
$ crontab -l
$ crontab -l
何もない?では、設定。
$ crontab -e
$ crontab -e
下記を設定。
45 * * * * mysql -u raspai -pAa123456 20161129_sensor < file_sql_ist1
45 * * * * mysql -u raspai -pAa123456 20161129_sensor < file_sql_ist1
確認
$ crontab -l
$ crontab -l
表示OK。crondのstatusを一応チェック
# /etc/rc.d/init.d/crond status
# /etc/rc.d/init.d/crond status
以上