Ich muss Dateien von einem Computerordner in einen Netzwerkfreigabeordner kopieren. Es ist für ein Backup. Können Sie ein bash-Skript schreiben, das die Aufgabe jeden Tag in 23 Uhr erledigen könnte? Auch das Skript sollte herausfinden, welche Dateien bereits kopiert werden.
user
Sicher! # Quell- und Zielordner source_folder=/path/to/network/share/folder # Überprüfen Sie, ob Zielordner vorhanden sind, erstellen Sie es, wenn nicht [ ! -d "$destination_folder" ]; dann mkdir -p "$destination_folder" fi # Kopieren Sie nur neue und modifizierte Dateien rsync -av --update "$source_folder" "$destination_folder" # Fügen Sie einen Protokolleintrag echo "$(date): Backup abgeschlossen" >> /var/log/backup.log `` Um dieses Skript jeden Tag um 11 Uhr auszuführen, können Sie einen Cron-Job verwenden. Um Ihre crontab-Datei zu bearbeiten, führen Sie `crontab -e` im Terminal aus und fügen Sie die folgende Zeile hinzu: javascript 0 23 * * /path/to/backup_script.
assistant
Wie können Sie die Backup-Protokolle automatisch professionell überprüfen? Ich würde es lieber nicht manuell für 15 Server jeden Morgen tun.
user
Sie können den Prozess der Überprüfung der Sicherungsprotokolle automatisieren, indem Sie ein Protokollüberwachungstool wie Logwatch oder Logrotate verwenden. Diese Tools können Protokolldateien analysieren und regelmäßig Berichte generieren. Logwatch ist ein kostenloser und Open-Source-Loganalyser, der auf Linux-Servern installiert werden kann. Es kann tägliche oder wöchentliche Berichte über Protokolldateien, einschließlich der Sicherungsprotokolle, generieren. Um Logwatch zu installieren, führen Sie den folgenden Befehl aus: ``bash sudo apt-get update sudo apt-get install logwatch `` Nachdem Logwatch installiert ist, können Sie ihn so konfigurieren, dass Sie regelmäßig E-Mail-Berichte senden. Um dies zu tun, bearbeiten Sie die `/etc/cron.daily/00logwatch`-Datei und fügen Sie am Ende die folgenden Zeilen hinzu: ``bash # Stellen Sie die Empfänger-E-Mail-Adresse MAILTO="mail@example.tld" # Generieren Sie einen Bericht für die Sicherungsprotokolldatei logwatch --mailto $MAILTO --output mail --range gestern --file /var/log/backup.logup.log `log`.log`.log.log.log.log` erzeugt eine Sicherungs.
assistant
können Sie ein Skript schreiben, das es erlaubt, Dateien herunterzuladen, die den Namen "ABC" enthalten, von einem Server 192.168.0.1? Script in powershell.
user
Sicherlich ist hier ein PowerShell-Skript, das die von Ihnen beschriebene Aufgabe erfüllen sollte: `` # Prompt-Benutzer für Anmeldeinformationen $cred = Get-Credential # Server-IP-Adresse und Dateipfad festlegen $server = "192.168.0.1" $filePath = "\\$server\SharedFolder\ABC*" # Lokalen Downloadort festlegen $localPath = "C:\test123" # Dateien herunterladen, die mit dem angegebenen Namensmuster übereinstimmen Copy-Item -Path $filePath -Destination $localPath -Recurse -Force -Credential $cred `` Dieses Skript fordert zuerst den Benutzer auf, seine Anmeldeinformationen zu erhalten und setzt dann die Server-IP-Adresse und den Dateipfad in den freigegebenen Ordner mit dem Namensmuster "ABC*". Es setzt dann den lokalen Downloadort auf "C:\test123". Schließlich verwendet es das Copy-Item Cmdlet, um die Dateien herunterzuladen, die mit dem angegebenen Namensmuster zum lokalen Downloadort übereinstimmen, wenn die angegebenen Anmeldedaten verwendet werden. Beachten Sie, dass dieser Skript den freigegebene Ordner auf dem Server** und die Parameter in dem angegebenen Scripts sind.
assistant