Jemand gab dieses Skript zur Protokollrotation. Ich möchte wissen, was dahintersteckt. Ich verstehe zwar alles außer --exec, was für mich wenig verwirrend war.
Original-Skript:
#!/bin/bash
set -x
NOW=$(date +"%m-%d-%Y")
echo $
cd /home/cloud360mssadmin/
find Tahoe-Broadcast.log.* -exec sh -c 'mv "$0" "/home/cloud360mssread/$0-`date +"%d-%m-%Y"`"' {} \;
Ich denke, 'echo $' fehlt die Variable.
Das gleiche Skript, das ich auf unterschiedliche Art und Weise (nur zu Testzwecken) implementierte, wurde erfolgreich ausgeführt.
#!/bin/bash
# this is scrpt for the log rotation
set -x
cd /var/log
echo " we are enter the `pwd`"
NOW="$(date +'%d-%m-%y')"
echo $NOW
find vmware* -exec mv '{}' /home/vinod/ \;
cd /home/vinod/
find vmware* -exec tar -rvf vmware.tar {} \;
Meine Aufgabe ist es, das Protokoll zu drehen und zu komprimieren.
logrotate
), warum also das Rad neu erfinden?
--exec
?