2016-11-16 15 views
3

まず、私の英語には申し訳ありません、また私の最初の質問です。私のcrontabで単純なperlスクリプトを理解しないでください

*/5 * * * * perl /usr/bin/hm_fix.pl > /dev/null 2<&1 

スクリプト自体::

#!/usr/bin/perl -w 
# Script to fix some migrations 
$gateway = `netstat \-rn \|grep \^0\.0\.0\.0 \|awk \'\{print \$2\}\'`; 
if (($gateway eq "") || ($gateway eq "\n")) { 
    exit 1; 
} 
else { 
    `ping -c1 $gateway`; 
} 

は、「ネットワーク」検索など、何かのそのいくつかの種類のように見える私は、私はこの1つを見つけた私のcronジョブを編集しようとすると「私の」スケジュールされたタスクをリストアップそれ。 PleskパネルがインストールされたCentOS 6.5です。私はスクリプト名をgoogledと何も見つかりませんでした...

あなたの助けをたくさんThx。

答えて

3

これは本当に非常にPerlを知らなかった誰かによってPerlで書かれたシェルスクリプトである: -/

、コメントは実際にプログラムが何をするかと一致しません。

netstat -rnを実行し、出力をgrepに渡して、0.0.0.0で始まる行を探します。その後、その行をawk '{ print $2 }'に渡して、デフォルトゲートウェイのIPアドレスを取得します。

これがIPアドレスを返さない場合、プログラムはエラーステータスで終了します。 IPアドレスを取得すると、そのアドレスに単一のpingパケットを送信して終了します。

+1

「ping」からの戻りコードがどこでも有用なものになるかどうかはわかりませんでした。しかしそうでなければそうです、それは実際にはあまり気にしません。 – Sobrique

+5

@Sobrique 'ping'の出力も表示されません。ひどく書かれて無意味なプログラムです。 –

+2

pingは 'arp'を強制するかもしれませんし、それは...私は知らない、何かをするかもしれない。 – Sobrique

関連する問題