![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Server-Monitor-Skript ... | zedex | Shell Programmierung und Scripting | 1 | 06-01-2008 05:10 PM |
| Brauchen Sie Hilfe dabei ein Skript zu überwachen, wenn die Dateien sind durch | jonathan184 | Shell Programmierung und Scripting | 0 | 05-15-2007 12:47 PM |
| Last-Monitor-Script | locabuilt | UNIX für Fortgeschrittene und Experten | 7 | 01-19-2007 02:37 PM |
| Script, um Monitor-Datenbanken helfen mit Arrays | nelmest | Shell Programmierung und Scripting | 1 | 09-05-2005 11:50 PM |
| Überwachen, welche Benutzer in meinem Home-Verzeichnis | mnpradeep | High-Level-Programmierung | 1 | 03-21-2002 05:08 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Hep mit Skript zur Überwachung Verzeichnis
Hallo,
Ich bin ein Neuling, der versucht, ein Skript schreiben, um zu kontrollieren, ob das Verzeichnis für eine Reihe von 3-Dateien, die ich erwarte, um ftp'd. Gelegentlich haben wir aussetzen Operationen für die Wartung etc., aber wir immer noch die Dateien, so kann es mehr als 1 gesetzt. Wenn es mehr als 1 Satz möchte ich Sie alle, aber die jüngsten zu einem Archiv-Verzeichnis. Zum Beispiel sagen, dass die Dateien heißen: acme1_090106.txt acme1_091006.txt acme1_092206.txt acme2_090106.txt acme2_091006.txt acme2_092206.txt acme3_090106.txt acme3_091006.txt acme3_092206.txt Ich möchte, um die ältere Dateien zu einem Archiv-Verzeichnis acme1_090106.txt acme1_091006.txt acme2_090106.txt acme2_091006.txt acme3_090106.txt acme3_091006.txt Ich bin mit AIX-Version 5.31. Das ist es, was ich bisher. Alle Vorschläge wäre zutiefst dankbar. #! / bin / ksh # Dateien \u003d 0 LoopCnt \u003d 0 while (($ Dateien <4)), muss echo `date` für Namen in `ls *` acme, muss if [-f $ name] dann lassen Sie Dateien Dateien \u003d 1 fi getan if (($ Dateien <3)), dann if ((LoopCnt <6)), dann echo "keine 3-Dateien noch, Schlafen 10 Minuten" echo "" Schlaf 600 Dateien \u003d 0 Lassen Sie LoopCnt \u003d LoopCnt 1 sonst Ausfahrt fi fi getan Dies ist, wo ich bin stecken if (($ dateien> 3)), dann echo "Viel mehr als 3 Dateien, verschieben Sie alle, aber spätestens Archiv" Ausfahrt fi |
|
||||
|
Es gibt viele Möglichkeiten machen ... ist auf der Grundlage der Zeit, die Datei in das System und die andere Art und Weise ist, basierend auf Datum in den Dateinamen ... Es wird ein Problem mit der ersten Methode, wenn die aktuelle Datei ftp'd, bevor die alten Dateien ... alte Dateien werden neueste Datei Erstellungsdatum als neueste Dateien und wird neueste Dateien auf den Archiv-Ordner ... Deshalb nahm ich die zweite Methode, die Archive der Datei auf das Datum in den Dateinamen ... hoffe das hilft. Code:
#!/usr/bin/ksh
for name in $(ls acme* | sed 's/_[0-9]*.txt//g' | uniq)
do
cnt=0
for fname in $(ls $name* | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\3\1\2/g' | sort -r )
do
echo $fname
nm=$(echo $fname | sed 's/_\([0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/_\2\3\1/g' )
cnt=$(($cnt+1));
if [ $cnt -ne 1 ]
then
mv $nm ./bkup
echo "$nm moved to backup"
fi
done
done
Ich habe getestet und es funktioniert ... |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|