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
| 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
Supporter
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
|
|
Bonanza-Fahrad
(Themenstarter)
Anmeldungsdatum: 10. September 2016
Beiträge: 170
|
seahawk1986
| 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
Anmeldungsdatum: 10. August 2005
Beiträge: 17582
Wohnort: Berlin
|
| 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. | 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: | 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
Anmeldungsdatum: 10. August 2005
Beiträge: 17582
Wohnort: Berlin
|
| /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: | 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 | 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:
| 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? | #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
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13075
|
user_unknown schrieb:
Solche repetetetetiven Blöcke sind ein Signal, dass man Gemeinsamkeiten herausfaktorisieren kann:
Unbedingt!
| 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: | prefix="/mnt/D/Migration/$(date +%d.%m.%Y)"
for verzeichnis in Bilder Musik Videos ... Downloads
do
sudo mkdir -p "$prefix/$verzeichnis"
done
|
oder | 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.
|