ubuntuusers.de

Es fehlt ein Ordner

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

Bonanza-Fahrad

Anmeldungsdatum:
10. September 2016

Beiträge: 170

Hallo, ich habe unten ein Script >>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
sudo mkdir /mnt/D
sudo mount -t ntfs UUID="01D06CA44D3D6550"  /mnt/D
sudo mkdir "/mnt/D/Migration/$(date "+%d.%m.%Y")" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Bilder" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Musik" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Videos" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Dokumente" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/dwhelper" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/bash_history" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Downloads" > /dev/null 2>&1
sudo cp -u -r "/home/i/Downloads/Bilder" "/mnt/D/Migration/$(date "+%d.%m.%Y")/Bilder" > /dev/null 2>&1
sudo cp -u -r '/home/i/Musik' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Musik" > /dev/null 2>&1
sudo cp -u -r '/home/i/Downloads/Videos' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Videos" > /dev/null 2>&1
sudo cp -u -r '/home/i/Dokumente' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Dokumente" > /dev/null 2>&1
sudo cp -u -r '/home/i/dwhelper' "/mnt/D/Migration/$(date "+%d.%m.%Y")/dwhelper" > /dev/null 2>&1
sudo cp -u -r '/home/i/.bash_history' "/mnt/D/Migration/$(date "+%d.%m.%Y")/bash_history" > /dev/null 2>&1
sudo cp -u -r '/home/i/Schreibtisch/Strom-Gas' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas"  > /dev/null 2>&1
sudo cp -u -r '/home/i/.mozilla' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Downloads" > /dev/null 2>&1
sudo umount /mnt/D

Jetzt fehlt ein Ordner (nur dieses ist mir aufgefallen), wenn ich sudo cp -u -r '/home/i/Schreibtisch/Strom-Gas' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" > /dev/null 2>&1 im Script/Terminal laufen lasse Wie kann ich das Problem lösen, damit der gewünschte Ordner mitkopiert wird?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11229

Wohnort: München

Eine Möglichkeit wäre mal die Umleitung von stderr nach /dev/null rauszunehmen, vielleicht gibt es ja eine aussagekräftige Fehlermeldung - den Sinns darin die Ausgabe eines Backup-Skripts wegzuwerfen sehe ich nicht so ganz, da will man doch eigentlich jeden möglichen Fehler sofort sehen können.

Bonanza-Fahrad

(Themenstarter)

Anmeldungsdatum:
10. September 2016

Beiträge: 170

Hallo seahawk1986 ich habe die Umleitung von stderr nach /dev/null rausgenommen, es gab keine Fehlermeldung.

Bonanza-Fahrad

(Themenstarter)

Anmeldungsdatum:
10. September 2016

Beiträge: 170

Hallo, weniger wichtige teile des Scripts habe ich auskommentiert ,#.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sudo mkdir /mnt/D
sudo mount -t ntfs UUID="01D06CA44D3D6550"  /mnt/D
#mkdir "/mnt/D/Migration/"$(date "+%d.%m.%Y")""
sudo mkdir "/mnt/D/Migration/$(date "+%d.%m.%Y")" > /dev/null 2>&1
#a= $(date "+%d.%m.%Y")
#sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Bilder" > /dev/null 2>&1
#sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Musik" > /dev/null 2>&1
#sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Videos" > /dev/null 2>&1
#sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Dokumente" > /dev/null 2>&1
#sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/dwhelper" > /dev/null 2>&1
#sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/bash_history" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" 
# > /dev/null 2>&1
#sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Downloads" > /dev/null 2>&1
#sudo cp -u -r "/home/internet/Downloads/Bilder" "/mnt/D/Migration/$(date "+%d.%m.%Y")/Bilder" > /dev/null 2>&1
#sudo cp -u -r '/home/internet/Musik' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Musik" > /dev/null 2>&1
#sudo cp -u -r '/home/internet/Downloads/Videos' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Videos" > /dev/null 2>&1
#sudo cp -u -r '/home/internet/Dokumente' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Dokumente" > /dev/null 2>&1
#sudo cp -u -r '/home/internet/dwhelper' "/mnt/D/Migration/$(date "+%d.%m.%Y")/dwhelper" > /dev/null 2>&1
#sudo cp -u -r '/home/internet/.bash_history' "/mnt/D/Migration/$(date "+%d.%m.%Y")/bash_history" > /dev/null 2>&1
sudo cp -u -r -v /home/internet/Schreibtisch/Strom-Gas /mnt/D/Migration/$(date "+%d.%m.%Y)/Strom-Gas  > /dev/null 2>&1
#sudo cp -u -r '/home/internet/.mozilla' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Downloads" > /dev/null 2>&1
#sudo cp - u -r '/home/internet/.thunderbird' '/mnt/D/Migration/Downloads/' 

#find  '/home/internet/Downloads/' -type d -exec chmod -R 0777 {} +
#find  '/home/i/Downloads/' -type d -exec chmod a+rwx {} +
sudo umount /mnt/D

Ich verstehe die fehler nicht , wer kann weiterhelfen und das Script anpassen?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11229

Wohnort: München

Bonanza-Fahrad schrieb:

Ich verstehe die fehler nicht , wer kann weiterhelfen und das Script anpassen?

Welche Fehler denn? Zu zeigt ja keine Ausgaben...

Was liefert denn

1
2
3
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" 
ls -ld "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" 
sudo cp -u -r -v /home/internet/Schreibtisch/Strom-Gas /mnt/D/Migration/$(date "+%d.%m.%Y)/Strom-Gas

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 54952

Wohnort: Berlin

Also die ganzen Zeilen, die mit sudo ausgeführt werden, könnte man genauso gut auch ohne eintragen und das Skript mir Rootrechten ausführen.

#NurMalSo

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11229

Wohnort: München

Edit: verklickt.

Bonanza-Fahrad

(Themenstarter)

Anmeldungsdatum:
10. September 2016

Beiträge: 170

seahawk1986

1
2
3
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" 
ls -ld "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" 
sudo cp -u -r -v /home/internet/Schreibtisch/Strom-Gas /mnt/D/Migration/$(date "+%d.%m.%Y)/Strom-Gas
 password for andy: 
drwxrwxrwx 1 root root 0 Sep 30 07:38 /mnt/D/Migration/30.09.2016/Strom-Gas
/home/internet/Schreibtisch/m1.sh: Zeile 3: Dateiende beim Suchen nach »"« erreicht.
/home/internet/Schreibtisch/m1.sh: Zeile 4: Syntaxfehler: Unerwartetes Dateiende.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17582

Wohnort: Berlin

1
2
3
4
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" 
# > /dev/null 2>&1
# (...)
sudo cp -u -r -v /home/internet/Schreibtisch/Strom-Gas /mnt/D/Migration/$(date "+%d.%m.%Y)/Strom-Gas  > /dev/null 2>&1

Das ist eine Race-Condition, weil die Evaluation von date 2x geschieht, und das Datum zwischendurch gewechselt haben kann, was wahrscheinlich unwahrscheinlich ist, wenn Du nicht sehr knapp vor dem Tageswechsel startest, aber das Datum nur einmal zu evaluieren scheint mir generell die angemessene Idee.

1
2
3
4
5
6
7
8
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Bilder" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Musik" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Videos" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Dokumente" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/dwhelper" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/bash_history" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" > /dev/null 2>&1
sudo mkdir -p "/mnt/D/Migration/$(date "+%d.%m.%Y")/Downloads" > /dev/null 2>&1

Solche repetetetetiven Blöcke sind ein Signal, dass man Gemeinsamkeiten herausfaktorisieren kann:

1
2
3
4
5
datum=$(date +%d.%m.%Y)
for verzeichnis in Bilder Musik Videos ... Downloads
do 
    sudo mkdir -p /mnt/D/Migration/$datum/$verzeichnis > /dev/null 2>&1
done

Was aber keinen Fehler bereinigt.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17582

Wohnort: Berlin

1
2
/home/internet/Schreibtisch/m1.sh: Zeile 3: Dateiende beim Suchen nach »"« erreicht.
/home/internet/Schreibtisch/m1.sh: Zeile 4: Syntaxfehler: Unerwartetes Dateiende.

Was steht denn in m1.sh, insbes. in den Zeilen 3, 4 und denen davor?

Nicht die Skripte selbst, sondern für das Fragen optimierte Variationen zu posten, birgt übrigens immer die Gefahr, dass die Variation den Fehler nicht hat, außer man hat die Variation getestet.

1. Post:

1
2
sudo cp -u -r '/home/i/Schreibtisch/Strom-Gas' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas"  > /dev/null 2>&1
s

Text: wenn ich

1
sudo cp -u -r '/home/i/Schreibtisch/Strom-Gas' "/mnt/D/Migration/$(date "+%d.%m.%Y")/Strom-Gas" > /dev/null 2>&1

im Script/Terminal laufen lasse Später:

1
sudo cp -u -r -v /home/internet/Schreibtisch/Strom-Gas /mnt/D/Migration/$(date "+%d.%m.%Y)/Strom-Gas  > /dev/null 2>&1

i oder internet oder beides?

1
2
#find  '/home/internet/Downloads/' -type d -exec chmod -R 0777 {} +
#find  '/home/i/Downloads/' -type d -exec chmod a+rwx {} +

Hier ist beides im gleichen Script.

Wenn Du zum Fragen ein Skript modifizieren musst, weil es unleserlich ist, dann ist es auch ohne zu fragen unleserlich und sollte generell überarbeitet werden, Dir zuliebe.

Bonanza-Fahrad

(Themenstarter)

Anmeldungsdatum:
10. September 2016

Beiträge: 170

Danke an alle die in diesem Thread gepostet haben, das Problem ist gelöst, es war wohl Speichermangel den cp nicht anzeigen wollte, damit ist das hier als gelöst markiert.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13075

user_unknown schrieb:

Solche repetetetetiven Blöcke sind ein Signal, dass man Gemeinsamkeiten herausfaktorisieren kann:

Unbedingt!

1
2
3
4
5
datum=$(date +%d.%m.%Y)
for verzeichnis in Bilder Musik Videos ... Downloads
do 
    sudo mkdir -p /mnt/D/Migration/$datum/$verzeichnis > /dev/null 2>&1
done

Oder gleich:

1
2
3
4
5
6
prefix="/mnt/D/Migration/$(date +%d.%m.%Y)"

for verzeichnis in Bilder Musik Videos ... Downloads
do 
    sudo mkdir -p "$prefix/$verzeichnis"
done

oder

1
2
datum=$(date +%d.%m.%Y)
sudo mkdir -p "/mnt/D/Migration/$datum/"{Bilder,Musik,Videos,Downloads}

Was aber keinen Fehler bereinigt.

Wahr. Die Ausgabeumleitung vom mkdir sollte aber weg, weil man sonst keine Fehler entdeckt. Normalerweise ist mkdir -p nämlich schweigsam, wenn alles klappt oder das Verzeichnis schon da ist.

Antworten |