Shell ScriptでCGIカウンターを作る

CGIカウンターとか懐かしくないですか? #!/bin/sh file="count.log" lockfile="counter.lock" sleeptime=0 while : do #ロック mktemp $lockfile 1> /dev/null 2>/dev/null result=$? #ロック出来てたらカウンタを進める if [ $result -eq 0 ]; then count=$((`cat $file` + 1)) echo $count > count.log #ロック開放 rm $lockfile break fi sleeptime=$(($sleeptime + 1)) sleep "0.00"$sleeptime done echo $count count.log というファイルを置いておけばカウンタとして動作します.ロックには mktemp を使いましたが mkdir とかでもいいはず. ロックされてたら一定時間待つようにしていますが,ちょっと手抜きすぎるかも. 🐘

2016/08/22 · 1 分 · 52 文字 · Me