Lass uns doch mal draufgucken. Ggf vorher geheime Infos entfernen.
Manuell ausgeführt kommt folgendes:
Im Screen:
+ /usr/bin/rsync -azuvPe 'ssh -oPort=22 -i /root/.ssh/id_ecdsa' --delete --exclude=/var/lib/pterodactyl --exclude=/proc --exclude=/sys --exclude=/mnt / user@123.123.123.123:/home/user/backup --log-file=/home/backup/script/rsync-log.log --stats
+ tee -a /home/backup/script/logs/log_2024-07-05.txt
sending incremental file list
Außerhalb des Screens:
└─(18:35:17)──> ./backup.sh ──(Fr,Jul05)─┘
datum=$(date +%Y-%m-%d)
++ date +%Y-%m-%d
+ datum=2024-07-05
# Pfad zur Log-Datei
log_datei="/home/backup/script/logs/log_$datum.txt"
+ log_datei=/home/backup/script/logs/log_2024-07-05.txt
# Funktion, um Nachrichten zu loggen
log_message() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$log_datei"
}
# Lösche Log-Dateien, die älter als 30 Tage sind
find /home/backup/script/logs -type f -name "log_*.txt" -mtime +30 -exec rm {} \;
+ find /home/backup/script/logs -type f -name 'log_*.txt' -mtime +30 -exec rm '{}' ';'
log_message "Alte Log-Dateien gelöscht, falls vorhanden."
+ log_message 'Alte Log-Dateien gelöscht, falls vorhanden.'
++ date '+%Y-%m-%d %H:%M:%S'
+ echo '2024-07-05 18:35:23 - Alte Log-Dateien gelöscht, falls vorhanden.'
# Prüfe, ob der Screen "rsync-backup" existiert
if screen -list | grep -q "rsync-backup"; then
log_message "Screen 'rsync-backup' existiert bereits. Befehl wird nicht ausgeführt."
else
log_message "Screen 'rsync-backup' existiert nicht. Befehl wird ausgeführt."
rsync_command="/usr/bin/rsync -azuvPe 'ssh -oPort=22 -i /root/.ssh/id_ecdsa' --delete --exclude="/var/lib/pterodactyl" --exclude="/proc" --exclude="/sys" --exclude="/mnt" / user@123.123.123.123:/home/user/backup --log-file=/home/backup/script/rsync-log.log --stats"
screen -S rsync-backup bash -c -x "${rsync_command} | tee -a $log_datei 2>&1"
log_message "Befehl wurde ausgeführt"
fi
+ screen -list
+ grep -q rsync-backup
+ log_message 'Screen '\''rsync-backup'\'' existiert nicht. Befehl wird ausgeführt.'
++ date '+%Y-%m-%d %H:%M:%S'
+ echo '2024-07-05 18:35:23 - Screen '\''rsync-backup'\'' existiert nicht. Befehl wird ausgeführt.'
+ rsync_command='/usr/bin/rsync -azuvPe '\''ssh -oPort=22 -i /root/.ssh/id_ecdsa'\'' --delete --exclude=/var/lib/pterodactyl --exclude=/proc --exclude=/sys --exclude=/mnt / user@123.123.123.123:/home/user/backup --log-file=/home/backup/script/rsync-log.log --stats'
+ screen -S rsync-backup bash -c -x '/usr/bin/rsync -azuvPe '\''ssh -oPort=22 -i /root/.ssh/id_ecdsa'\'' --delete --exclude=/var/lib/pterodactyl --exclude=/proc --exclude=/sys --exclude=/mnt / user@123.123.123.123:/home/user/backup --log-file=/home/backup/script/rsync-log.log --stats | tee -a /home/backup/script/logs/log_2024-07-05.txt 2>&1'
[detached from 4005284.rsync-backup]
+ log_message 'Befehl wurde ausgeführt'
++ date '+%Y-%m-%d %H:%M:%S'
+ echo '2024-07-05 18:35:55 - Befehl wurde ausgeführt'
Alles anzeigen
Warum nimmst Du eigentlich /usr/bin/rsync ?
War nur eine Lösung die ich auf StackOverflow gelesen habe
Hast Du das hier schon gemacht?
Jup, habe weiter oben auch schon geantwortet dass es da auch nicht funktioniert. Habe auch online viel gelesen dass rsync und cron anscheinend Probleme macht
Falls das Debugging nix nützt schadet vielleicht auch eine zusätzliche Ausgabe nicht:
Fr 5. Jul 19:09:01 CEST 2024
root
/root