• 締切済み

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

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

みんなの回答

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

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

plus5555
質問者

補足

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

noname#96023
noname#96023
回答No.1

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

plus5555
質問者

補足

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

関連するQ&A

  • シェルスクリプトとmaillogの関係

    以下のようなシェルスクリプトを1時間ごとにcronで動かしています。 #!/bin/sh php -f check.php > result exit その結果、/var/log/maillogに、root宛てと思われる記録がシェルスクリプトと同じ1時間ごとに記録されるようになってしまいました。 maillogにその記録を残さないようにするにはどのようにしたらいいのでしょうか。 シェルスクリプトの書き方がおかしいのでしょうか。 よろしくお願いいたします。

  • cronでシェルスクリプトが実行されない

    Linuxでファイルのバックアップを取るため backup.shというシェルスクリプトを組み、コマンドから実行する場合問題ないことを 確認しています。ところがcronに設定し自動実行すると内容が実行されておりません。 /var/log/cronを確認したところ時間通り実行されているというログは残っています。 /var/spool/cron/にrootというファイルを作成し 00 23 * * * /BACKUP/backup.shを実行させたいのです。 なぜ、手動の場合は問題がないのにcronで設定すると問題が生じるのでしょう? もし、お分かりの方は教えてください。 OSはRed Hat Linux release 8.0 (Psyche)です。

  • シェルスクリプトに手をだしてみたいのですが。。。

    Linuxに触れて半月ちょっとの私ですがこれまでRedHat7.3のインストール、ftpの実装、sambaの実装、カーネルの再構築をこなしてきました。 で、次なにしようかなぁと思っていたところ、シェルスクリプトというもの を発見しましたのでこれに手を出してみようかと思っています。 1.BourneShellの作成手順のようなものを詳しく説明してくれてるサイトを教えてください。自分でも探してみましたがこれより詳しくかつ優しく教えてくれてるサイト知ってる人いませんか? (Cshって下記サイトでいってるとおり手出さない方が良くて、BourneShell知っておけば十分なんですよね?)   http://www.oiden.net/Flets/bangai03/   http://warp.syns.net/10/ 2.「シェルスクリプトを使用して何をしたいのか」を当然決めないと作れるものも作れませんが、現時点で想像つくのが指定時間にファイルのバックアップをとる(指定時間なんてできんのか?)とかしか思いつかないのですが、「こんなの最初に作ればスキルアップになんじゃない。」ってゆうのないですか?出来れば答えも一緒にわかるとうれしいです。   なにぶんLinux初心者でなおかつ周りに教えてくれる人もなく、頼れるのは 教えてgooのみの悲しい状況です。 漠然とした質問で大変恐縮なのですがどなたか回答ください。

  • Solaris8でNTPをslewモードで使用する方法

    Solaris8でNTPを使用して時刻同期をさせる場合に /erc/rc2.d/S74xntpdの使用を考えています。 スクリプトの中を確認するとntpdateを使用してから xntpdを実行しているようですが、slewモードでの使用したいので ntpdateはスクリプトから削除しようと思いますが問題ないでしょうか? あとslewモードの設定はntp.confへどのように記述すればよいでしょうか?

  • シェルスクリプトで実行したコマンドをタイムアウトさせる方法

    シェルスクリプト超初心者です。 ログファイルを『tail -f』で開き、その内容を一時的な テキストファイルにリダイレクトで書き出します。 その処理を、一定時間経過後に自動的に終了する。 といった内容のシェルスクリプトを作成したいと思っています。 しかし、「tail -f」を実行したプロセスを一定時間経過後に どういう風に終了させればよいのかよく分かりません。 実行したプロセスを一定時間経過後に終了させるような 方法が何かありませんか? ちなみに実行環境は、Solaris9です。 【コマンド例】 tail -f ./"ログファイル" > ./temp.txt かなり、初歩的な質問で申し訳ありませんが 宜しくお願いします。

  • シェルスクリプトで、ping送信の秒数を指定したい場合

    UNIXのシェルで、pingを指定したホストに指定した秒数だけ送信するというスクリプトを書きたいと思っています。 送信する間隔や回数、タイムアウト時間などはpingコマンドのオプションで指定することができますが、指定した秒数送信するというのはどうやって実現させたらいいか分かりません。 whileなどのループ文で書けたらとも思いますが、判別条件もどうしたらいいか分からず・・ 何か良い方法はありますでしょうか。 よろしくお願いします。

  • シェルスクリプトを途中からバックグラウンドで動かす方法

    フォアグラウンドで起動したシェルスクリプトを、途中から 自動的に バックグラウンドに移行させる方法はないでしょうか。 ユーザーが操作するのなら、もちろん フォアグラウンドで起動→Ctrl Z で中断→jobsでジョブ番号を確認→bg %[ジョブ番号] という手順でできることは知っていますが、 シェルスクリプトが特定の段階まで処理したら自動的に バックグラウンドに移行するようにしたいのです。 たとえば、 #!/bin/sh echo "パラメータを入力してください" read param echo "ここからバックグランドに移行します" #(*) # ここからバックグラウンドに移行して # 処理を行う (バックグランドでやりたい処理) # exit という感じで、処理に必要なパラメーターをターミナルから入力 したいので、最初はフォアグラウンドで起動する必要がありますが、 入力が終わったらあとは邪魔なのでバックグラウンドに回したいのです。 それなら起動時の引数としてパラメーターを与えればいい、と言われ そうですが、パラメーターの数が不定の場合も考えているので、 ターミナル入力が必要なのです。 (*)の部分に jobs; bg %1 などと入れてみましたが line 17: bg: no job control と怒られるだけで、バッググラウンドにはなりませんでした。 指定したPIDのプロセスをバックグラウンドにするような コマンドでもあればうまくいきそうですが、そういう コマンドはないようで、手詰まり状態です。 何かうまい方法がありましたらご教示下さい。 なお、baシェルやCシェルではなく、一番基本的な Bourne Shell で使えるような方法をお願いします。 また、できるだけディストリビューションや OS(Linux、BSD、Solarisなど)の違いにも依存しない 方法をお願いしたいと思います。

  • 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の設定とシェルスクリプトの記述をすればよいらしいのですがここら辺の設定方法に関する質問はサポート外との事で困ってます。

  • cronジョブ

    cronの実行時間は、/var/spool/corn/ユーザ のファイルで 時間が記述されているので、実行される時間はわかるのですが、 cronで、ある1つのシェルスクリプトが起動した時間から終了までかかった時間を知りたいのです。 (timeコマンド、メール送信による判断は無しでお願いします。) linuxのどこかのログファイルに、cronのシェル1つ1つのジョブの終了時間が記述されている ファイルはないでしょうか?(可能であれば、実行時間もわかるとよいのですが。) ご教授お願いします。

  • 音声と動画の時間のずれ

    ビデオカメラで撮影したavi動画とICレコーダーを使って別撮りしたmp3音声の 結合方法について教えてください。 audacityとavidemuxを使って、時間合わせと結合を行っているのですが どうも1時間おきに0.2秒ずつ動画が遅れているようです、 恐らく、ビデオカメラとICレコーダーの内部時計の進み方の速度に わずかに違いがあるため、長時間撮影すると徐々にずれてきてしまうようです。 同じ型番の別のビデオカメラでも試してみましたが、 こちらは3時間おきに0.2秒程度となっており、上のものよりかはましですが やはり少しずつずれてきます。 このずれを何とかしたいのですが、 ビデオとICレコーダーを同期させることができない以上、 30分おきくらいに動画を細切れにして、一つ一つ時間合わせを行うか、 audacityを使って、時間を伸縮させるか、しかないでしょうか? そもそも、1時間おきに0.2秒というずれは大きすぎないでしょうか? この程度のものなのでしょうか?