• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

script+cronjob : Wo muss ich den Fehler suchen?

Spikitux

Newbie
Hallo (X) ich habe folgendes Script(1) in crontab aufgenommen >>>
Code:
#!/bin/bash -e
# mkdir '/home/internet/Downloads/Bilder'

cp -u -r '/home/internet/Bilder' '/home/internet/Downloads/Bilder'

# mkdir '/home/internet/Downloads/Musik'
cd '/home/internet/Musik'
cp -u -r * '/home/internet/Downloads/Musik'
# mkdir '/home/internet/Downloads/Videos'
cd '/home/internet/Videos'
cp -u -r '/home/internet/Videos' '/home/internet/Downloads/Videos'
# mkdir '/home/internet/Downloads/Dokumente'
cd '/home/internet/dwhelper'
cp -u -r '/home/internet/Dokumente' '/home/internet/Downloads/Dokumente'
# mkdir '/home/internet/Downloads/dwhelper'
cp -u -r '/home/internet/dwhelper' '/home/internet/Downloads/dwhelper'
# mkdir '/home/internet/Downloads/bash_history'
cp '/home/internet/.bash_history' '/home/internet/Downloads/bash_history'
cd '/home/internet/Schreibtisch/Strom-Gas/'
cp -u -r * '/home/internet/Downloads/Strom-Gas'
cd '/home/internet/.mozilla/'
cp -u -r * '/home/internet/.mozilla' '/home/internet/Downloads/'
cd '/home/internet/.thunderbird/'
cp - u -r * '/home/internet/.thunderbird' '/home/internet/Downloads/'

find '/home/internet/Downloads/' -type d -exec chmod -R 0777 {} +
#find '/home/i/Downloads/' -type d -exec chmod a+rwx {} +
________________________________________________________________________
meine crontab >>>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
#
*/1 * * * * echo 'vor' >> '/home/internet/Schreibtisch/Downloads/Strom-Gas/2016/Oktober/vor.txt' && '/home/internet/Schreibtisch/migration2.sh' && echo 'nach' >> '/home/internet/Schreibtisch/Downloads/Strom-Gas/2016/Oktober/nach.txt'

#> /dev/null 2>&1
#
#h dom mon dow command

die Datei vor.txt wird erstellt!
die Datei nach.txt wird nicht erstellt.
Was daufhindeutet das das obige Scrip(1) nicht abgearbeitet wird.
Wo muss ich den Fehler suchen?
 

marce

Guru
&& führt den nächsten Befehl nur aus, wenn der vorige mit einem Return-Code von 0 beendet wurde.

Vermutlich liegt also ein Fehler im Script vor - ich würde mal auf diese Zeile tippen:
Code:
cp - u -r * '/home/internet/.thunderbird' '/home/internet/Downloads/'

Übrigens ist eine Cron-Zeile von */1 * * * * bei evtl. längeren Kopierjobs evtl. nicht sonderlich "glücklich"
 

uhelp

Member
Ich würde mal statt echo das Resultat von which echo einsetzen. Analog für alle anderen Commands auch.
Absolute Pfade machen das Leben als "nobody" einfacher.
 
OP
S

Spikitux

Newbie
Hallo ich hatte es jetzt mit den absoluten Pfaden gemacht >>>
*/1 * * * * /bin/echo 'vor' >> '/home/internet/Schreibtisch/Downloads/Strom-Gas/2016/Oktober/vor.txt' || '/home/internet/Schreibtisch/migration2.sh' || /bin/echo 'nach' >> '/home/internet/Schreibtisch/Download..

Nur kopiert hat das Script (cronjob) weiterhin nicht.
 

uhelp

Member
Nu ja, jetzt verkettest du die Befehle mit einem logischen nicht.

Code:
someCommand && echo "executed properly"  ||  echo "\"someCommand\" did not return zero."
Also wurde der erste Echo-Befehl immerhin erfolgreich ausgeführt, und der Rest dann logischerweise nicht.
 
OP
S

Spikitux

Newbie
Ich habe es jetzt in der crontab so gemacht
Code:
*/1 * * * *  /bin/echo 'vor' >> '/home/internet/Schreibtisch/Downloads/Strom-Gas/2016/Oktober/vor.txt' && '/home/internet/Schreibtisch/migration2.sh' && /bin/echo 'nach' >> '/home/internet/Schreibtisch/Download/nach.txt
aber kopieren tut es immer noch nicht.
 
OP
S

Spikitux

Newbie
Code:
'/home/internet/Schreibtisch/migration2.sh' 
/bin/cp: Aufruf von stat für »-“ nicht möglich: Datei oder Verzeichnis nicht gefunden
/bin/cp: Aufruf von stat für »u“ nicht möglich: Datei oder Verzeichnis nicht gefunden

Ich nehme mal es gibt weiterhin fehler
 

marce

Guru
Dann mach den Fehler mal weg. Wetten, daß es dann tut?

Und das wie - wurde hier schon erwähnt. Mehrfach.

Oh man.
 

marce

Guru
Code:
/bin/cp: Aufruf von stat für »-“ nicht möglich: Datei oder Verzeichnis nicht gefunden
sagt aber was anderes.
Und ganz ehrlich - die Erfahrung der letzten Jahre sagt, daß in den Fällen meist der Computer Recht hat.
 
OP
S

Spikitux

Newbie
Code:
/bin/cp -u -r  '/home/internet/Schreibtisch/Strom-Gas/''/home/internet/Downloads/Strom-Gas/'
/bin/cp: Fehlender Zieldatei‐Operand hinter »/home/internet/Schreibtisch/Strom-Gas//home/internet/Downloads/Strom-Gas/“
Jetzt habe ich den Space entfernt sonst garnicht, aber wieder Fehler
 

marce

Guru
... und jetzt noch an der richtigen Stelle einen rein.

Tipp: Quelle und Ziel sollte man schon unterscheiden können im Parameter-String.

Fehlermeldungen lesen und verstehen sollte man schon versuchen.
 
OP
S

Spikitux

Newbie
Code:
/bin/cp -r '/home/internet/Schreibtisch/Strom-Gas/*' '/home/internet/Downloads/Strom-Gas'
Das habe ich gemacht, kopiert immer noch nicht.
 
OP
S

Spikitux

Newbie
Hallo wenn ich rsync nutze >>>
Code:
rsync -r 'home/internet/Schreibtisch/Strom-Gas/' '/home/internet/Downloads/Strom-Gas/'

rsync: change_dir "/home/internet//home/internet/Schreibtisch/Strom-Gas" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
Was mache ich falsch?
 

marce

Guru
Spikitux schrieb:
Was mache ich falsch?
Du liest Deinen eigenen Code nicht aufmerksam durch, ebensowenig die Fehlermeldungen. Zudem solltest Du Dir ein paar Grundlagen bezüglich Quoting, absoluten und relativen Pfaden und Befehls-Syntax aneignen. Zudem würde die Konsultation der Dokumentation nicht schaden.

Außerdem - wieso denn nun bitte rsync?
 
Oben