Bitte helfen Sie hierzuKomprimiert und die Dateien in jeweiligen Verzeichnis zu bewegen
Ich habe den Ordner, die Protokolle auf einer täglichen Basis hat, so mein Ziel zu tar ist und die Zip-Datei und auf sehr neben dem separaten Verzeichnis verschieben Tag mit Cron.
*** Alle Protokolle werden im Format als "server.log.2016-08-08" gespeichert (server.log.year-Monat-Tag)
inorder die Datei i for i in
verwendet zu finden
find . -type f -name server.log.$(date "+%Y-%m-%d" -d '1 day ago')
wenn der Tag 2016.08.09 ist, wird es das gestern Serverprotokoll (server.log.2016-08-07)
*** auch dann, um es zu komprimieren Ich benutzte do tar -czvf server.log.$(date "+%B-%m-%d" -d '1 day ago').tar.gz $i --remove-files
**** Ich habe Ordner als Januar, Februar .... Dezember auf dem Weg /opt/Solartis_Monitoring/logsbackup/(jan,feb...dec)
**** jetzt muss ich Verschieben Sie die archivierte und komprimierte Datei an den Speicherort , wenn die komprimierten Protokolle zum Monat August gehört, dann sollte es im August Ordner sein, der gleiche Fall gilt für alle Monate.
so verwendet i mv server.log.$(date "+%B-%m-%d" -d '1 day ago').tar.gz /opt/Solartis_Monitoring/logsbackup/$(date "+%B")
ich crontab dafür bin mit ausgeführt werden.
Problem:
Das Problem ist, wenn die Datei am 1. Tag des nächsten Monats (September) ausgeführt wird, Skript den 31. August Datei finden und es wird komprimieren, aber während die komprimierte Datei zu bewegen, wird es Umzug nach September Monat rit ?? da ich /opt/Solartis_Monitoring/logsbackup/$(date "+%B")
bin mit
hier date "+%B"
wird im September und meine Datei erweitert werden wird/opt/Solartis_Monitoring/logsbackup/September rechts ....
Drehbuch:
cd /opt/Solartis_Monitoring/JON_Server/logs
for i in `find . -type f -name server.log.$(date "+%Y-%m-%d" -d '1 day ago')`
do tar -czvf server.log.$(date "+%B-%m-%d" -d '1 day ago').tar.gz $i --remove-files
mv server.log.$(date "+%B-%m-%d" -d '1 day ago').tar.gz /opt/Solartis_Monitoring/logsbackup/$(date "+%B")
done
Ändern Sie '$ (Datum" +% B ")' in '$ (Datum" +% B "-d 'vor 1 Tag')'? –