上の私の最後の発表後約半年間 Dreambox 私sitestemata監視私は貫の最後のバージョンの新しい、おそらく1を発表しました。. Версията беше готова още преди 2 しかし、怠惰のどこか月は、デバッグのために物事を発表してpozabaviha場所. 仕事の数日 32 Dreambox 500-sおよび一般的に非常に良好な結果. 変更が非常にあります – ばかげたzvisimostから削除されます リナックス サーバ ログを渡されるの – Apacheを持っている必要はありません + PHP, 新しいライティングシステムログには、PHPスクリプトサーバにパラメータを供給されているので、. Apart'veは、サーバー側せずに動作するようにスクリプトを変更しました – あなたには、いくつかの衛星放送受信機を持っている場合、それはスクリプトで処理できるように情報を取るために、そこからサーバーを実行し、常にあなたには意味がありませんhardkodnato 2 上の可変情報CAM-と. 私はまた、追加の変数のデバッグを宣言しました – あなたはログを投げませんしたくない場合は – コード内🙂ライトpopravikiがnapreveniた前より再びばかなパス, それは読めるが書けないことによって書かれた愚かのように見えました (はい、12月はありません). 私たちがした急性 2 いくつかのランダムな瞬間にスクリプトに関する作業の停止につながるコードで重大なエラー, 再び私の部分に漏れがoligofrenski. 一般的に人を作るために考慮することは非常に簡単に持っていなかった書き込み, そのbusyboxの灰は調教のための簡単なものではありません. この時間は、私は大きな暴言コードを保存することができますし、直接説明することであり、どのような治療法がそれで何ができるかのためにどのような変数 (新しいです) 🙂

SERVER="192.168.100.1"
 STANDALONE="FALSE" #using like stand alone app no server side depends ; )
 HCAM1="" ## if starting like stand alone app give me CAM namezzz if HCAM1 is empty its means chanel is free
 HCAM2="" ## CAM2 name
 PORT="666" # port rockzzz : D : )))))))))))))))))
 IP=$(ifconfig eth0 | grep inet | awk '{print $2}' | sed -e '[email protected]:@@')
 FILE='/tmp/debug'
 INFO='/tmp/info_file'
 NC=$(which nc)
 WGET=$(which wget)
 MAX_DAYS="10"
 TIMEOUT="600"
 MAX=70 #max cpu usage per process
DEBUGING="TRUE" #if u wanna script send debug information set DEBUGING to TRUE if SEVERLESS is set to true this var will be skiped
 NEWDBGSTYLE="TRUE" #debuging new style sending info to apache derectly, old style using nc

だから、明らかに変数名がまだ十分に彼ら自身のために話すと私は別の巧妙な言葉を言うことはできません.

STANDALONE 最終的にTRUEに、サーバーへの呼び出しを行う、もはや必要とし、あなたがそれを使用する場合、サーバーに応じて次の値を配置する必要がない場合、それは最も重要な変数の一つであります HCAM1 (私、私はので、私は今覚えていない命名した理由を知らないが、どんなに). そこには価値がなく、skritpa場合は、スタンドアロンスクリプトは、それが暗号化されていないチャネル上で動作し、復号化モジュールをチェックしないことを受け入れます, あなたは、設定値の推定に応じてオンにした場合. HCAM2 あなたのデコーダモジュールのみを使用する場合にはオプションです 1 プロセスはCCcam例を言います.

デバッグの 情報またはサイレント応じてprlyueます第二興味深い変数は、あなたが立ち往生しているどのような値に依存します. Avotmatichnoがあれば静かなカットに渡します STANDALONE それはTRUEです

NEWDBGSTYLE 廃棄物は重要promenlivaです. これは、サーバーのログに転送する方法を定義します. TRUEは、netcatをに従ってidiostkataせずに新しい方法になる場合. あなたはまだFALSEパッティングのあなたの古い方法を続ける場合. 基本的にこれらは集中する必要がありますものですが、私, 変更枢機卿が透明セットのデフォルト値については、アイデアのままになりますが、🙂

確かに私は物事があったかと非常に満足しています – скрипта стана достатъчно гъвкав отпднаха идиотките зависимост на допълнителни файлове за функции както и вече отпдна и зависимост на nc мисля или пък нуждата от сървър и прочие не всеки ползва 30+ box-a че да има и сървър или пък може да има само някакъв домаше router. Все още има какво да се подобри но засега мисля да се въздържам от таквиа неща защото не е наложително 🙂

Файловете както обикновено се намират в директорията а крипта за въвеждане на логовете може да свалите от ここで

И по случай добрия скрипт едно ускорено парче за всички ускорители 😀

Zemantaの強化されたことにより、

ほぼ一年のために私は私のdemochetoに取り組んでいました . 非常に良好ではなかったものがたくさんあったので今日、私は物事をまっすぐにする時間を持っていました. 新しい機能を追加しました. 並び替えコード, より多くの機能を持つので、私はそれを短縮し、よりユーザーフレンドリーになります.

得点の主な新機能信号トラップと. スピニング悪魔のDreambox受信機のようないくつかの時点で、彼を殺すことに決めたので、監視プロセスを停止し、私の, それ自体で非常に不快な瞬間です. およびログの場所は傍若無人小さいように私は何が起こっているのか理解できないと私は対処していないネットワーク共有を持つ複雑なスキームを行う必要があります. 行では:一般的な信号トラップ-aが出力または😉言うことで、カーネル・キルが提出したものからの信号を傍受するのbashスクリプトの快適な機能があるので、我々はすぐに後続のイベントの一部を防ぐことができます. ちょうどそのSIGKILを絞るか、殺します -9 傍受と防ぐことができません, これは、コア内に設計されています. それは直接PIDに送ら終了1. 今関連するコード

#trapping signals I know -9 dosent work but we try it just in case ; )
trap on_exit 0 14 1 2 9 13 15 6 8 4 3 11 5
on_exit () {
make_debug 10 #unexpected error
#reboot now if we hawe trapped signal
reboot -d 0
exit 0
}

私たちの最初の行は、取るために、どの信号があなたに複数のアラートをキャッチすることができますどのようなアクションを宣言します 男信号 場合、これらは私が興味を私に😉. デバッグメッセージと再起動の受信機を作る簡単なfunktsiikaにつながる見られるように. はい、そこに昼食, それは私が期待する結果につながります, 私は妨げすべてが死滅して殺されていると思いますので、 -9 しかし、何もしようとする妨げるものはありません.

他の大きな変化は、それらが機能に詰めコードを繰り返される関数ほとんどのものです, それは少し見苦しいではありませんでした, 今私はリターンで穏やかなドラマがあったのbashを-と😉ドであります – 私は1つの関数にあなたのリターンを入れて、すべて私の他の既知のプログラミング言語のような動作を期待します, それはリターンが整数値のみを返すことが判明してからアップ 2 😀と私は戻って文字列に私を望んでいました. 醜い最悪の場所がありました. 解決策は単純です

#---cuted---

if [ $T -eq $N ]
 then
 echo "Cam is down! Reboot..."
make_debug 4 # cam is down
 else
echo $rcam
 fi

# ---cuted----

#finding real cam1
 rcam1=$(find_cam $cam1)

Първата част е края на функцията ми и чрез echo изплювам резултата. Взимането му е елементарно с последния ред в горния пасаж.

うーんと思います, それは、コードの面白い部分です.

私はインスピレーションに感謝したいと思います😉

HTTP://www.youtube.com/watch?V = SilMJ0O13UI&機能=関連

最も- 最後に、私は、私はまだ多くの時間を書き込むスクリプトで作業を終えることができました🙂 それはあります 非常に安定したスクリプト. 強調する 1 余分なスクリプトを削除するので、私は主に構築します. これは、モノリシック構造を得ています, しかし、個人的に私はそれが悪魔バージョンの方が良いと思う🙂すでに改善は非常にではありません, むしろ、いくつかの小さなバグとコードを改善する試みに修正があります. 私は稼働時間、およびレシーバのチェックを追加しただけ有体物. 皆のためにそれを設定します 10 自分自身の再起動にする日.

単に彼らが考えるsluchava何の受信機を監視するスクリプトの私の最初のアイデアは、振り返ってみると, 私は喜んで良いアイデアを何度も実現していること. 私は回避したいと考えています唯一のバグ 10 毎日のリブートがあります – 受信機が再起動し始めた瞬間があります, しかし、失敗しました. ネットワークが、neuspyavaリーチ再起動を含むほとんどのワークショップを殺します. 残念ながら私のボックスによって課される制限を行うにはnemozhyahのためにカーネルを再起動してあるので、今脱出し、. たぶん将来的にいつかはその箱のための私のイメージをコンパイルし、したがって、この問題に対処することができます. 今の🙂そうでなければ、すべてがそうでなければ、非常に好評をごまかすために私の決定を最後nadyavma, 私のオリジナルのアイデアよりもさらにはるかに良いです. 特に以来, このような変身にその名前を変更. 大部分は残ったバグのウェブinterfeisa, したがって😆与えないように続けて、一度無料の消費のために彼を取得するこれらの日書き換えるために座っていました. 最後の言葉 – だけではなく先延ばしの私はすべての私の友人に感謝したいと思います, それはこれとそれについての私の愚かな質問に耐えました – あなたはdeizainaコード内の重要な貢献を持っています. 感謝と私のプロジェクトと名付けられ、特別な才能のない書き込みの多くの瞬間にインスピレーションを務めている人に値します🙂 … ノートルダムは、それに値します!

今日、私は新しい詩貫余りを働きました. 最後に彼女に秩序をもたらしました, а ми се ще да я пооправя малко преди да пусна последната стабилна, おそらく最終版. だから私は、受信機の何日の稼働時間をチェックするためにアイデアを持っていました, че повечето ми правят проблеми след като са били повечко време, 私はで行うことを決めました 10 リブートprfilaktichen日. 結果otkomandata稼働時間は非常に不愉快な仕事ですので、私は私が他の変数の日をクリアkonveirche全体に走り書き

# uptime
12:13:57 up 30 days, 20:07,  1 user,  load average: 0.00, 0.00, 0.00

Та въпросни ред се филтрира само от суперския конвеир 😛

uptime | awk -F'up' '{ print $2 }' | awk -F'days' '{ print $1 }'

Като ако работното време е дни резултат е цяло число с дните, а ако е часове резулататът е подобен на

[email protected]:~$ uptime | awk -F'up' '{ print $2 }' | awk -F'days' '{ print $1 }'
1:34,  5 users,  load average: 0.46, 0.39, 0.41
[email protected]:~$

Заради Което минава през проверка за вида на стойноста

if echo $days | grep "^[0-9]*$" > /tmp/null
then
   echo "Uptime in days is $days"
else
  echo "Uptime isnt in days"
fi

Просто лесно и ясно в if-а конструкцията проверява дали стоиснота съдържа само цифри с регулярни израз grep^[0-9]*$”.

まあそれが起こったは 貫 1.0 🙂 のバージョンからなぜ 0.6 ギクリとしたを 1.0 まあ、非常に単純な私を尋ねます – 我々 は既にあります。 100% 貫のすべての要件をカバーするユニバーサル, よう fiksna が将来的と根本的に異なる方法でこのバージョンを実現するより重要ないくつかの例外を除いて. この時物事がうまく働いた、悪魔と少し試行錯誤の私の古い考えに戻った. その情報貫 🙂 を描画するから短い php スクリプトから離れて、サーバー アプリケーションは完全にえぐり出しました

より貫とほとんどすべてをすでに達成? 正直株式を常によくすることができますなど, 考えると、たとえば、幾分より簡単でできるだけ発生しないすべての Linux ユーザーにもわかりやすいものを作ると言うにインストーラー スクリプトを作成するには- ユーザーにいくつかの問題. しかし、すべてのシーズンがあります。. 時に他の何かから離れて貫私 dobavail モジュール、サーバーへの接続を監視します。, 受信機の再起動を表示されなくなった場合. 現時点ではまだ決定していないかどうかの作品 hihihiihh 😆 全体として阿部に常にあるまだ望まれるべき多くいくつかの新鮮なアイデアしかし 1 つの章のような考えることができません。 2-3-4 以上, 私の 😈 も

ps は再びコードネームをリリースします。. 私はすでに私のスクリプトとすること、将来的にすべての非常に強固な基盤を持っていると思う