Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

cp-Befehl mehrere Dateien kopieren

Frage Entwicklung Batch & Shell

Mitglied: mymeyer

mymeyer (Level 1) - Jetzt verbinden

15.04.2009, aktualisiert 25.02.2015, 8067 Aufrufe, 8 Kommentare

Hallo,

folgendes Problem habe ich wo ich keine Lösung so richtig finde. Ich möchte einen Script über Cron starten.Kurze Vorgeschichte: Bei uns auf dem System werden täglich mehrer Log-Files geschrieben die automatisch nach nach ca. 2,5 Tagen immer wir bei Log-File 01 beginnen. Ich möchte jetzt immer nur die aktuellenTages Log in ein anderes Verzeichnis kopieren inkl Datums Erweiterung am Log-File Name.

Ich habe mir jetzt mit "find" eine Zeile geschrieben wo er nur die Log-Files vom aktuellen Tag kopieren soll. Der Job startet um 23:59h. Das Problem was ich habe ist das es das an zwei verschiedenen Tagen gleiche Log-Files Namen gibt und der Job die alten Files überschreiben.

Hier mal ein Auflistung wie ich mir das vorstelle:

Log.01
Log.02
Log.03
Log.04
..
.. (So schreibt das System die Logfiles täglich max 100 in Summe).

ich möchte jetzt folgendes erreichen mit dem CP-Befehl.

Beispiel:

Heuet ist der 15.04.2009

cp Log.01 /tmp/2009-04-15.log.01
cp Log.02 /tmp/2009-04-15.log.02
cp Log.03 /tmp/2009-04-15.log.03
cp Log.04 /tmp/2009-04-15.log.04

Nächte Tage: 16.04.2009

cp Log.01 /tmp/2009-04-16.log.01
cp Log.02 /tmp/2009-04-16.log.02
cp Log.03 /tmp/2009-04-16.log.03
cp Log.04 /tmp/2009-04-19.log.04


Ich kann die Files auch nicht verschieben mit mv da das System die Anzahl 100 Log-Files benötigt. Warum ich das machen will. Ich möchte die Logfiles über einen bestimmten Zeitraum sammeln für Analysen z.B. und später dann wieder über eine Cron-Job löschen. Aber mit dem cp-Befehl bekomme ich das nicht hin.


Aufruf ist:

datum=`/bin/date +%Y-%m-%d`
find /log/ -mtime 0 -type f -name "\Log.*" -exec cp -p {} /tmp/"$datum".log.01 \;

Gruß
MyMeyer
Mitglied: godlie
15.04.2009 um 12:38 Uhr
Wie wärs mit sowas:

01.
#!/bin/sh 
02.
dt=`date +%Y-%m-%d` 
03.
for i in $( ls Log.* ); do 
04.
rn=`echo $i | cut -d "." -f 2`; 
05.
echo $dt.log.$rn; 
06.
cp $i /tmp/$dt.log.$rn 
07.
done
Bitte warten ..
Mitglied: 75823
16.04.2009 um 11:19 Uhr
Ich hab noch nicht ganz die Logik verstanden wie die Logst entstehen. Kannst du bitte die Ergebnis von "ls -lct /deinlog/" posten?
Bitte warten ..
Mitglied: mymeyer
16.04.2009 um 14:01 Uhr
Zitat von 75823:
Ich hab noch nicht ganz die Logik verstanden wie die Logst entstehen.
Kannst du bitte die Ergebnis von "ls -lct /deinlog/" posten?

Hi,

ich verstehe nicht was du jetzt meinst. Die Log-Files werden von einer Application erzeugt und liegen im LOG Verzeichnis.
Da wir aber so viel LOG schreiben (wird auch benötigt) möchte ich die Dateien tagesbezogen kopieren. Die Anzahl erhöhen oder die Files vergrössern geht auch nicht weil auf dem Filesystem nicht genug Platz vorhanden ist. Deswegen auf ein anderes Filesystem kopieren. Dort werde ich sie dann wieder nach ein paar Tagen löschen.

Gruß
MyMeyer
Bitte warten ..
Mitglied: 75823
16.04.2009 um 16:17 Uhr
Lesen kann ich, das selbe hasst du erstes mal auch geschrieben.
Ich will wissen welche Kriterien hat das Programm für die Logs, ob die sie nach Größe oder nach Zeit trennt. Dann kann man ein vernünftigen Skript machen der die Logs ohne Wiederholung speichert.
Bitte warten ..
Mitglied: mymeyer
16.04.2009 um 21:27 Uhr
Hi,

Upps Jetzt habe ich es auch verstanden. Na ja die Log Files sind immer 10 MB groß und es werden max 101 Stück geschrieben.
Und schreibt es erst ins Haupt Log und wenn das 10 MB erreicht hat wird es weg geschrieben. Die aktuellen Info kommen immer ins Haupt Log.

1. Haupt Log = logging.log
2. Folge Log = logging.old.01
usw.
3.End Log = Logging.old.99

Gruß
MyMeyer
Bitte warten ..
Mitglied: 75823
16.04.2009 um 21:53 Uhr
haben die Logst unterschiedliche Changetime? Wie ich schon früher sagte : Die Ergebnis von "ls -lct log/" wurde hilfreich.

Hier ist ein Skript auf schnelle Hand. Hoffe ich wird dir helfen

01.
#!/bin/bash 
02.
log_dir="dein_log_ordner" 
03.
dist_dir="tmp_ordenr" 
04.
 
05.
for i in $( ls $log_dir/ | grep old); do 
06.
   file_date=$( stat --printf=%y $log_dir/$i | cut -d'.' -f1 | tr " " "_" | tr ":" "-" ); 
07.
   cp $log_dir/$i $dist_dir/$file_date.log 
08.
done;
Bitte warten ..
Mitglied: mymeyer
17.04.2009 um 08:59 Uhr
Hi,
hier die Ausgabe wie gewünscht mit "ls -lct log*". Aber die Uhrzeit verwundert mich jetzt. Warum ist die denn immer gleich bei .old Dateien ?


6459365 Apr 17 08:54 logging
10485700 Apr 17 08:33 logging.old.00
10485707 Apr 17 08:33 logging.old.01
10485698 Apr 17 08:33 logging.old.02
10485711 Apr 17 08:33 logging.old.34
10485750 Apr 17 08:33 logging.old.33
10485691 Apr 17 08:33 logging.old.29
10485187 Apr 17 08:33 logging.old.31

usw für restlichen Files.


Gruß
MyMeyer
Bitte warten ..
Mitglied: 75823
LÖSUNG 17.04.2009, aktualisiert 25.02.2015
Oh man! wie blöd muss man sein um so ein Programm zu schreiben.
Dann den Skript von godlie passt hier am besten. Vielleicht mit kleinen Änderungen.

01.
#!/bin/sh  
02.
dt=`date +%Y-%m-%d` 
03.
tar cvfj /zielordenr/$dt.log.tar.bz2 /log/logging.old*
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien kopieren die nicht mehr verändert werden?
Frage von pbelclBatch & Shell10 Kommentare

Hi Leute, Ich habe eine Vu+ Receiver der auf die lokale Platte Videos aufnimmt. Aus administrativen Gründen muss ich ...

Batch & Shell
Kopieren einer Datei in mehrere Ordner mit PowerShell
gelöst Frage von FRANHEBatch & Shell7 Kommentare

Hallo zusammen, ich habe folgendes Problem. Ich würde gerne eine Datei *.xml aus dem Ordner C:\Testing\xml in den Ordner ...

Microsoft
Dateien kopieren
gelöst Frage von alex53842Microsoft2 Kommentare

Hallo zusammen, wir haben hier ein sehr tolles Phänomen. Eines unserer Dokumentenarchive hat einen kleinen Fehler. Es wurde eingerichtet ...

Entwicklung
Befehl aus Reg-Datei wird nicht übernommen.
gelöst Frage von SATCG1992Entwicklung5 Kommentare

Servus zusammen, ich habe mir eine Reg -Datei mit mehreren Befehlen geschrieben. Wenn ich dann auf zusammenführen klicken (oder ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 6 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 10 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 10 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 13 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server15 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...