• 締切済み
  • 困ってます

solarisで時間を同期し、ずれが大きいときにはメールするシェルスクリプトを作成したい。

solarisで以下のような動作をするシェルスクリプトを作成し、cronで実行したいと考えています。 1.rdateを使用して特定のホストと時間の同期を行う。(1000秒以上ずれたときにNGのため、xntpdは使いたくない。) 2.特定のホストとの時間のずれが5分以上だった場合、メールを送信する。 時計が狂うサーバーを使い続けたいがためのスクリプトです。初心者ゆえ、レベルの低い話で恐縮ですがよろしくおねがいします。 もっといい案があればぜひ御教授ください。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数177
  • ありがとう数0

みんなの回答

  • 回答No.2
  • tatsu99
  • ベストアンサー率52% (391/751)

>突然1時間以上ずれることもあり、どんなにxntpdの間隔を縮めたとしてもNGなのです 的はずれでしたら、すみません。 そんなにくるうのは、バッテリが異常かと思うのですが、バッテリのほうは大丈夫なのでしょうか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

OSのバグのようで、パッチを当てれば直るのですが、事情があってパッチが当てられないのです。。

関連するQ&A

  • シェルスクリプト

    シェルスクリプトに関しては、まったくの初心者です。 OSは、SolarisとLinuxですが、シェルスクリプトを利用して下記のような自動実行プログラムを作りたいのですが、どなたかご教授下さい。 一台のWWWサーバのログ(例:access.log)を、1日に一回(出来ましたら朝の5時)に別サーバに送信するプログラムなのですがいかがでしょうか?このとき、出来れば送信先のファイル名は、送信した日付(例:20020222.log)にしたいです。説明不足かも知れませんが、ひとまずこれでお願いします。

  • シェルスクリプト内で他のサーバへSSH接続

    急にシェルスクリプトを組む事になり、勉強を始めて2週間です。 下記について、調べても分からなかった為、教えてください。 どのようなコマンドを使用すればよいのかや、参考になるサイトがありましたら教えてください。 【概要】 シェルスクリプト内で、SSH接続で他サーバへ接続し他サーバ内で別のシェルスクリプトを実行する。その際にroot権限が必要となる。 【環境】 作業PC:Windows サーバA:Linux サーバB:Linux 【スクリプト】 スクリプト1  格納場所:サーバA  処理  :スクリプト1、2を実行 スクリプト2  格納場所:サーバA  処理  :サーバA内でディレクトリ作成等の作業をしてOK/NGを返却 スクリプト3  格納場所:サーバB  処理  :サーバB内でディレクトリ作成等の作業をしてOK/NGを返却 【やりたい事】 1.作業PCからサーバAへSSH接続 2.サーバAでroot権限へスイッチし、スクリプト1を実行 3.スクリプト1は、スクリプト2を実行 4.スクリプト2はディレクトリ作成等の処理を行い、OK/NGを表示 5.スクリプト1は、サーバBへSSH接続 6.スクリプト1は、サーバBでルート権限へスイッチし、スクリプト3を実行 7.スクリプト3はディレクトリ作成等の処理を行い、OK/NGを表示 8.スクリプト1はサーバBからログアウト

  • Solaris8上のxntpdでのNTP symmetric passiveパケットについて

    Solaris8に標準で入っているxntpdを使用しNTPサーバを構築しています。 そこで、困っているのですがsnoopでパケットを見るとNTP symmetric passiveというパケットが不明(LAN内に対象機器が居ない)な宛先に送信されているようにみえます。 これを止める方法を探しています。 色々と探しては見たのですが、不明です。 ご存知の方がいらっしゃいましたら、お教えいただければ幸いです。 よろしくお願い致します。

  • 回答No.1
noname#96023

1000秒ずれる前にxntpdで同期するは駄目なんですかね? たとえば1000秒周期でxntpdとか

共感・感謝の気持ちを伝えよう!

質問者からの補足

返答ありがとうございます。 突然1時間以上ずれることもあり、どんなにxntpdの間隔を縮めたとしてもNGなのです。。

関連するQ&A

  • 長時間時間がずれている時のntpdプロセスの自動停止について

    いつも参考にしています。 xntpdの動作についてお聞きしたい事があります。 NTPサーバとクライアント間で時刻が長時間(20分ほど)ずれている場合、xntpdが自動で停止していました。(少しのずれの場合は停止しません。) これはxntpの仕様なのでしょうか。それともこのサーバ個別の仕様なのでしょうか。 他のサーバでは1年ぐらいの差を一気に修正したクライアントもあったので。。 OSはHPです。(1年ぐらいの差を修正したマシンのOSはSolaris8です)

  • ntpによる時刻補正の時間当たりの時刻補正率が調べられません

    Solarisを使用しています。xntpdデーモンを使用してntpサーバよりシステム時刻の時刻補正を行っています。 時刻補正の際、システム時計がntpサーバとの時刻が大きくずれていた場合、xntpdデーモンは 一気に補正を行わず、時間をかけて徐々にntpサーバの時刻に合わせるそうです。 たとえばシステム時計が5秒進んでいた場合、システム時計は秒針を1-5/1000[秒]ずつ進めれば、 200秒後に補正完了となります。 ここで、この補正率がどのように与えられているか知る必要があるのですが、manページ (dateなど他コマンドのmanも)やホームページで調べても具体的な補正率の値についてどこにも載っていません。 どなたかご存知の方、ご教授をお願いいたします。Solaris以外のOSについてでもかまいません。

  • シェルスクリプトについて

    シェルスクリプトの勉強中です。 シェルで特定のフォルダに移動するスクリプトを書いているのですが、以下のような場合どうかいていけばいいのでしょうか? [例] /home/hogeの下にフォルダが1つだけある場合 sample01フォルダ →無条件でそのフォルダに移動する /home/hogeの下にフォルダが複数ある場合 sample01フォルダ sample02フォルダ sample03フォルダ →自分で選択して任意のフォルダに移動する  sample02と打ち込めばそこに移動出来るようにしたいです。 hoge配下のフォルダ名が不規則で定まっていない為、 複数ある場合にだけ選択リスト的なものを表示させて、間違えないように 移動させたいなと考えてます。 いい案などありましたら、ご教授いただけますと助かります。 よろしくお願い致します。

  • Solaris8でのプリンタ登録

    Solaris8でネットワーク上のプリンタを登録したのですがうまく出力されません。 設定内容は 1.admintool起動 2.ホストではプリンタのホスト名/IPアドレスを入力 3.プリンタではプリンタへのアクセスでプリンタ名  印刷サーバ入力(プリンタのホスト名と同じ)  そのプリンタはデフォルトとして登録 4.lp 出力ファイル名 としたのですがうまく出力されませんした。 こういった場合、問題を特定するためにどこを確認したらいいのでしょうか?

  • ダウンロードするシェルスクリプトについて

    LINUXサーバAとBの2つあります Linux-Aでは/aaa/bbbの中に(bak-A-20120218tar.bz)と(bak-B-20120218.gz)と毎日バックアップファイルを作成しています Linux-Aの容量が多くなっては困るのでLinux-Bのサーバから (1)毎日、定時にLinux-Aにアクセスし、 (2)Linux-Aの(bak-A-20120218tar.bz)と(bak-B-20120218.gz)をLinux-Bにダウンロードしたあと (3)Linux-Aの(bak-A-20120218tar.bz)と(bak-B-20120218.gz)を消去する このプロセスをシェルスクリプトに記載してCron登録したいと思っています そこでそのスクリプトを次のように考えました ************シェルスクリプト********************************* open xxx.yyy.ne.jp ・・・Linux-Aのサーバへ接続 user mmmmm nnnnnnn ・・・Linux-Aのサーバへ接続 cd /aaa/bbb/ ・・・Linux-Aの該当フォルダに切り替え binary mget bak-*.* ・・・bak以下のワイルドカードを利用して抽出(?) mdelete bak-*.* ・・・bak以下のワイルドカードを利用して削除(?) bye *************************************************************** 上記の5-6行目のように、ワイルドカードを指定して、ダウンロードとかファイル の消去をしようとしたのですがうまくいきません ワイルドカードを利用したのはbak-以下が毎日変わるのでそれを指定(プログラム)するのが難しかったのでこれを考えました まず、mgetとかmdeleteは利用できないのでしょうか このワイルドカードが利用できるダウンロードなり消去できるコマンド等あれば 教えていたただけないでしょうか または、別のいい方法があれば教えていただければ幸いです

  • 時刻合わせについて

    AIX、Solarisなどのいんちき管理者をしていますが AIXでの「時刻合わせ」の方法について悩んでおります。 dateコマンドにて設定しようとしていますが、微調整が効かず 困っております。 Solarisでは date -a [sss] というコマンド形式で sss秒分ゆっくりと時間を合わせる、ということが出来るのですが AIXでは知る限り指定した時間ぴったりに時計が合ってしまうため、 時間に大きなずれのあるサーバーの時計を設定するのが非常に恐怖です。 特に時間の進んでいるサーバーの時計を戻すなんてあたりが怖いです。 なにかよい知恵は無いでしょうか。

  • PHP メール送信条件について

    お知恵をお貸しください。 現在、ネットで公開されている以下のサーバー監視PHPスクリプトをCRONで1時間毎に動かしているのですが、監視対象サーバートラブルも解消したので、「障害時のみ」下記のスクリプトからメールを送信するようにしたいと思っております。 当方、お恥ずかしいのですがほぼ素人なもので、、、 大変申し訳ないのですが、どのように記述すれば良いか教えていただけませんでしょうか。 <実現したいメール送信条件> 以下のスクリプトにおいて「pingチェック」がNG、または「webアクセスチェック」がNG、またはその両方がNGの場合にメールを送信。 宜しくお願い致します。 <?php //PING応答対象のサーバーIPアドレス $SERVER_IP = 'xxx.xxx.xxx.xxx'; //HTTPステータスを取得する対象のURL $URL = 'http://www.sample.com'; //メールの送信先(管理者メール) $MAIL_TO = 'xxx@xxx.com'; //メールの送信元に表示するアドレス $MAIL_FROM = 'aaa@aaa.jp'; //pingチェック $ping_command_str = "ping -c 3 -w 5 $SERVER_IP"; if (!strstr(`$ping_command_str`, '100% packet loss')) { $result = "$SERVER_IP ping ok\n"; } else { $result = "$SERVER_IP ping ng\n"; } //webアクセスチェック if ($res = file_get_contents($URL)) { $result .= "{$URL} access ok\n"; } else { $result .= "{$URL} access ng\n"; } //結果をメール送信 $mail_header = "From: $MAIL_FROM"; mail($MAIL_TO, 'check result', $result, $mail_header); ?>

    • ベストアンサー
    • PHP
  • SolarisからLinuxへコピーしたスクリプトについて

    Solaris上で動作しているPerlスクリプトがあるのですが、 Linux上で動作させることができないので、困っています。 原因を特定するため、Solarisからコピーしたファイルの 中身を、下記コードに入れ替えた場合と、新規にLinux 上で作成した場合を比べてみると、表示結果が異なります。 solarisからコピーしたファイルを表示すると、 「500 サーバ内エラー サーバー内で、実行中のプログラムが異常終了しました。」 と表示されます。 新規にLinux上で作成したファイルを表示すると、 問題なく表示されます。 これくらいしか分からないのですが、何かアドバイスを いただけないでしょうか? # file test.pl <-Solarisからコピーしたファイルを編集 script text executablerl # file test2.pl <-Linux上で新規作成 test.pl: a /usr/bin/perl script text executable ・コード #!/usr/bin/perl print "Content-type: text/plain\n"; print "\n"; print "Hello!World"; exit(0);

  • あるスクリプトでのCronDeamonの設定がうまくできません。

    現在Fedora Core 3で自宅サーバー構築をしています。 AuctionEXというスクリプトでcron.cgiの設定をするところがあるのですが、 /etc/cron.dailyにcron.shというシェルスクリプトをFedoraで直接作成して置いたのですが、動作していないようなのです。 cron.shの内容は以下のようにしました。 #!/bin/sh /usr/bin/perl /var/www/html/auction/cron.cgi exit パーミッションは755に設定しました。 今行き詰ってしまってどうすれば良いか全く検討がつきません。 どなたか教えていただけるととても助かります! 以下に、その設定に関してのREAD_MEファイルを載せます。 Cron Daemon の設定 cron.cgi の中の設定項目を設定して下さい。 ※フルパスを設定する項目がありますので、忘れずに設定して下さい。 お使いのサーバーにTELNET(SSH)等で接続して お好きな時間に"cron.cgi"を起動するように設定してください。 ("cron.cgi"の各項目を環境に合わせて編集してください。) (!)チェックポイント (1)オークションの時間終了した商品の出品者あてに、きちんと「終了通知」が送信されるかどうか? (2)再出品を設定した商品が、きちんと自動再出品されているかどうか? ※cron 設定はサーバ側で設定する必要があります。 ("cron.cgi"の中を編集しても起動するわけではありません。) ※設定方法は環境により異なりますので、ここでは省略させて頂きます。 ※レンタルサーバでも、サーバがcronをサポートしており、telnet接続が許可されていれば、設定は可能だと思います。

  • XREAサーバーのCRONTAB設定とシェルスクリプト記述方法を教えて下さい

    Linuxど素人の質問で恐縮です。 あるCGIを実行させるのにTera Term Pro(SSH対応版)というソフトでSSH接続しております。 なお、使用サーバーはXREAで広告免除サービスを利用してるのでSSH接続可能との事です。 下記コマンドが表示された状態で bash-2.05$ ./***.pl(リターン)で 手動では問題なく実行されます。  この***.plを5分おきに自動実行させる為には具体的にどうしたらいいのでしょうか? 例えばcronで下記の定期起動プログラムを作成すればよいのでしょうが 具体的な方法がわかりません。 */5 * * * * /usr/home/xxxxx/cgi-bin/***.pl  XREAの管理メニューからCRONジョブを選択しCRONTABの設定とシェルスクリプトの記述をすればよいらしいのですがここら辺の設定方法に関する質問はサポート外との事で困ってます。