Ich schreibe ein Skript, um die Plattennutzung auf einem System zu erfassen (ja, ich weiß, dass es Software gibt, die das tun kann). Für die Datenbankberichterstattung möchte ich, dass das Intervall zwischen Datenpunkten so gleich wie möglich ist. Wenn ich zum Beispiel alle 10 Minuten die Festplattennutzung abfrage, möchte ich, dass jeder Datenpunkt JJJJ-MM-TT HH lautet: [0-5] 0:00. Wenn ich alle 5 Minuten pollere, wäre es JJJJ-MM-TT HH: [0-5] [05]: 00.Erhalte ein Unix-Skript, das jedes Mal zur exakt gleichen Zeit ausgeführt wird
Wenn ich ein ksh - Skript (oder sogar ein Perl - Skript) habe, um die Festplattenbelegung zu erfassen, wie kann ich das Skript aktiv werden lassen und auf die nächste "Pollzeit" warten, bevor ich einen Snapshot mache korrekte Anzahl von Sekunden bis zur nächsten "Poll-Zeit". Wenn ich alle 5 Minuten abfrage, und es ist 11:42:00, dann möchte ich 180 Sekunden schlafen, damit es um 11:45:00 einen Schnappschuss macht - und dann für 5 Minuten schlafen, damit es einen weiteren Schnappschuss macht um 11:50:00 Uhr.
Ich schrieb einen Weg, der funktioniert, wenn meine Pollzeit alle 10 Minuten ist, aber wenn ich die Pollzeit auf eine andere Nummer ändere, funktioniert es nicht. Ich möchte, dass es in der Umfragezeit flexibel ist.
Ich bevorzuge dies in Shell-Skript, aber wenn es viel zu viel Code ist, wäre Perl auch in Ordnung.
Irgendwelche Ideen, wie dies zu erreichen ist?
Vielen Dank im Voraus!
Brian
EDIT: Wow - Ich habe einen ziemlich wichtigen Teil aus - dass cron deaktiviert ist, so dass ich cron nicht für diese Aufgabe nutzen können. Es tut mir sehr leid für all die Leute, die das als Antwort gegeben haben, denn ja, das ist der perfekte Weg, um das zu tun, was ich wollte, wenn ich Cron benutzen könnte.
Ich werde unseren Scheduler verwenden, um mein Skript jeden Tag vor Mitternacht zu starten, und ich möchte, dass das Skript genau zu den "Poll-Zeiten" läuft, dazwischen schläft und um Mitternacht beendet wird.
Noch einmal, es tut mir sehr leid, dass ich nicht über crontabs geklärt habe.
Es sei denn, Sie verwenden einige Echtzeiterweiterungen, Sie können nicht * genau * zur gleichen Zeit erhalten, aber abhängig davon, was Sie brauchen, können Sie nahe genug sein. –