[ERLEDIGT] Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

[ERLEDIGT] Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 15:07:24

Hallo,

ich habe ein eigenes Script das ich schon sehr lange nutze und nicht selbst geschrieben habe.
Kann selbst keine scriptsprache, verstehe den Vorgang aber etwas und änderte darin auch
immer für andere Zwecke den Pfad ab.
Wie ich nun durch einen Datenverlust feststellen musste, läuft dieses Script schon seit
ca. einem Jahr nicht mehr. Seit der Neuinstallation von Debian Buster.
Des weiteren las ich das anacron "%" als Zeilenumbruch versteht und man ein "\" voran stellen soll.
Leider funktioniert auch das nicht.

Das Script liegt in /etc/cron.hourly
Dateirechte rwxr-xr-x root:root rsync-backup

Weiß irgend jemand Rat?

Mit den besten Grüßen

Code: Alles auswählen

#!/bin/bash

set -ex

# check for mount
grep /backup /etc/mtab > /dev/null || exit 1

# directory to backup
BDIR=/home/

# Destination dir for rsync
DDIR=/media/backup/homedir

# excludes file - this contains a wildcard pattern per line of files to exclude
EXCLUDES=/root/rsy.excl

# BACKUPDIR=${1:-`date +%A`}
BACKUPDIR=${1:-"day"`date +%d`}

OPTS="--force
    --ignore-errors \
    --delete-excluded \
    --exclude-from=$EXCLUDES
    --delete --backup --backup-dir=$DDIR/$BACKUPDIR -a -v"

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin

# if destination does not exist, make it;-)
[ -d $DDIR ] || mkdir $DDIR

# write logfile
echo oooooooooooooooooooooooooooooooooooooooooooo >> /root/rsy.log
date >> /root/rsy.log

# delete existing backup dir
[ -d $DDIR/$BACKUPDIR ] && (echo remaking $DDIR/$BACKUPDIR >> /root/rsy.log; rm  -r $DDIR/$BACKUPDIR)

# now the actual transfer
rsync $OPTS $BDIR $DDIR/current >> /root/rsy.log

Zuletzt geändert von mlamhm am 15.06.2021 17:59:00, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11608
Registriert: 25.09.2007 19:59:30

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von MSfree » 15.06.2021 15:27:45

Was gibt

Code: Alles auswählen

cat /root/rsy.log
aus?

Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 15:41:11

Habe derzeit alles entfernt und nun das script wieder nach
cron.hourly kopiert. Dauert etwas bis es wieder startet.

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von Meillo » 15.06.2021 15:44:38

Vielleicht war/ist ja /backup nicht gemountet, denn dann steigt das Script gleich am Anfang schon aus (und loggt das noch nicht mal).
Use ed once in a while!

Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 16:37:45

cat /root/rsy.log gibt ein Stall voll Dateien von einem User aus und bleibt dann stehen.
Wie kann ich das posten ohne das es seitenlang ist?

Das Ziellaufwerk ist ein NAS-Laufwerk.
Könnte es ein Rechteproblem sein?

Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 16:40:09

Meillo hat geschrieben: ↑ zum Beitrag ↑
15.06.2021 15:44:38
Vielleicht war/ist ja /backup nicht gemountet, denn dann steigt das Script gleich am Anfang schon aus (und loggt das noch nicht mal).
backup ist gemountet und eigentlich durch

# check for mount
grep /backup /etc/mtab > /dev/null || exit 1

sicher gestellt.

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von Meillo » 15.06.2021 17:05:52

mlamhm hat geschrieben: ↑ zum Beitrag ↑
15.06.2021 16:40:09
Meillo hat geschrieben: ↑ zum Beitrag ↑
15.06.2021 15:44:38
Vielleicht war/ist ja /backup nicht gemountet, denn dann steigt das Script gleich am Anfang schon aus (und loggt das noch nicht mal).
backup ist gemountet und eigentlich durch

# check for mount
grep /backup /etc/mtab > /dev/null || exit 1

sicher gestellt.
Der Befehl stellt sicher, dass das Script nur laeuft, wenn /backup gemountet ist. Und falls es nicht gemountet waere, dann tut das Script einfach gar nichts.

Der Befehl stellt aber nicht sicher, *dass* /backup gemountet ist. Das ist ein gewisser Unterschied. ;-)


Aber wenn du sagst, dass /backup gemountet ist, dann wird das wohl nicht das Problem sein.

Funktioniert das Script denn wenn du es von Hand (also ohne Cron) aufrufst?


Btw: Die Sache mit dem Prozentzeichen hat nichts mit dem Inhalt des Scripts zu tun, sondern mit der Befehlszeile in der Crontab. Wenn dein Script in cron.hourly liegt, dann ist das gar nicht relevant.
Use ed once in a while!

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von Meillo » 15.06.2021 17:06:46

mlamhm hat geschrieben: ↑ zum Beitrag ↑
15.06.2021 16:37:45
cat /root/rsy.log gibt ein Stall voll Dateien von einem User aus und bleibt dann stehen.
Wie kann ich das posten ohne das es seitenlang ist?
Dort posten: pastebin/
Und dann hier verlinken.
Use ed once in a while!

Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 17:15:26


Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 17:54:55

Ich habe soeben nach dem Inhalt des Scripts Tante google beauftragt
und siehe da ich hatte schon einmal vor 13 Jahren ein Problem damit :(

Ich habe dadurch auch die Seite des Erstellers vom Script gefunden
und muss feststellen das im Script kein Fehler vorliegt.

Nun habe ich crontab für mich entdeckt und das funktioniert auch.
Allerdings nicht mit den ganzen Ordner "day1, day2, day3 usw. Aber egal, Hauptsache ein Backup.

Danke für Euren Einsatz.

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von Meillo » 15.06.2021 17:58:13

mlamhm hat geschrieben: ↑ zum Beitrag ↑
15.06.2021 17:15:26
pastebin/?mode=view&s=41398
Ist der Prozess fertig (vermutlich nicht weil rsync AFAIR am Ende eine Zusammenfassung schreibt), oder ist er abgebrochen, oder laeuft er noch? Gibt `tail /root/rsy.log' ein bisschen spaeter das Gleiche aus oder aendert sich das? (Du kannst auch `tail -f /root/rsy.log' verwenden (^C um wieder raus zu kommen).)

Wenn du das Script manuell aus der Shell startest wuerdest du auch sehen was auf stderr raus kommt. Das wird nicht in das Logfile geleitet. Oder 2>&1 hinter der Umleitung ergaenzen.

Vielleicht ans Ende des Scripts noch eine Ausgabe mit echo, dass der Transfer nun fertig ist, und die auch ans Logfile anhaengen.

Das an weiteren Ansatzpunkten zum Debuggen. Viel Erfolg! :-)
Use ed once in a while!

Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

Re: [ERLEDIGT] Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 18:01:17

rsync bleibt einfach stehen.

er legt ein paar Ordner an, ein paar Dateien und das war es.

Ist ja jetzt egal

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [ERLEDIGT] Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von Meillo » 15.06.2021 18:30:58

mlamhm hat geschrieben: ↑ zum Beitrag ↑
15.06.2021 18:01:17
Ist ja jetzt egal
Okay.

Ich habe bloss noch nicht recht verstanden wie du es nun stattdessen machst. Kannst du das bitte nochmal ein bisschen beschreiben. Das wuerde mich freuen.
Use ed once in a while!

Benutzeravatar
mlamhm
Beiträge: 17
Registriert: 20.01.2016 15:31:53
Wohnort: Mannheim

Re: [ERLEDIGT] Eigenes Script funktioniert nicht mehr unter cron.hourly (rsync)

Beitrag von mlamhm » 15.06.2021 19:56:07

Unter KDE gibt es den Aufgabenplaner (GUI). Ist einfacher als die crontab zu editieren.

Unter KDE gibt es für diese Aufgabe das Paket kde-config-cron. Das Programm ist Teil des KDE Metapakets kdeadmin.

Bild

Bild

Antworten