0
0

More than 1 year has passed since last update.

LINEトーク履歴集計アプリ開発② - 後編 -

Posted at

前回の続きだ

コマンドライン引数を利用するためシェルスクリプトの作成

前半での記述の通り、testを実行するにはテキストファイル名も引数として渡さなければいけない

シェルスクリプトの内容は

  • /saveディレクトリに存在するテキストファイルの名前を取得し、環境変数FILEに代入
  • test実行時に引数として指定する
  • 実行後はテキストファイルを削除する

とする

hoge.sh
#!/bin/sh
 
 
export FILE=`find /var/www/html/save/*.txt`
echo "$FILE"
 
 
/var/www/html/save/test "$FILE"
 
rm -f  "$FILE"

パスは相対にしてしまうとincronでの設定時に読み込めなくなってしまう
絶対パスにするか、絶対パスを読み込むコマンドを指定するべし

これにて./hoge.shをするだけでtest $FILEを実行できるようになった

次はhoge.shを自動で実行する設定を作成する

incronのインストール

incronはファイルシステムの変更をトリガーに、決められた処理を実行するコマンドである

ユーザーがアップロードしたファイルをリアルタイムで処理する必要があるため使用する

$sudo apt update

$sudo apt install incron

crontabにて処理の流れを登録

$incrontab -e

設定を登録する画面になる

監視対象のディレクトリ イベント 実行する処理・コマンド

と記述する

/var/www/html/save      IN_CREATE           /var/www/html/save/hoge.sh

/var/www/html/saveにファイルが作成されたらhoge.shを実行する

という処理だ

incronでは必ず絶対パスで記述されたし

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0