Synology-Forum.nl
Tweaks / Addons A.K.A. The Underground => Algemeen => Topic gestart door: rcbaltus op 27 januari 2020, 19:22:10
-
Hoi allemaal,
Hallo,
Ik heb niet zoveel verstand van linux, maar ik wil graag via de taakplanner elke dag een script laten lopen op mijn Synology NAS, waarbij alle files uit
/volume1/photo/Foto 2020/
naar
"/volume1/MultiMedia/Mijn afbeeldingen/Divers/Werk/2020" worden gekopieerd, alleen de nieuwe bestanden de bestaande mag ie overslaan.
Ik had wat bedacht, maar dat werkt niet.
#!/bin/sh
now=`date +%s`
yesterday=`expr $now - 86400`
year=`date +%Y`
yyear=`date --date="@$yesterday" +%Y`
photocopy() {
yr=$1
[ ! -d "/volume1/MultiMedia/Mijn afbeeldingen/Divers/Werk/$yr" ] && mkdir -p "/volume1/MultiMedia/Mijn afbeeldingen/Divers/Werk/$yr"
rsync -a "/volume1/photo/Foto $yr/" "/volume1/MultiMedia/Mijn afbeeldingen/Divers/Werk/$yr/"
}
[ $year != $yyear ] && photocopy $yyear
photocopy $year
Kan iemand zijn kennis hierop loslaten?
Hoor heel graag!
Bob
Daarbij zou het mooi zijn als 2020 (het jaar) elk jaar vanzelf meeloopt en er in divers werk ook een nieuwe dir 2021 wordt aangemaakt.
Kan iemand mij helpen?
Ik zou dat fijn vinden!
Bob
-
Er zijn wat verbeteringen voor het script denkbaar, maar op zich zou dit moeten werken.
Daarom de vraag: wat werkt er niet?
Dingen om in de gaten te houden:
- heb je in de taakplanner aangegeven dat het onder jouw userid moet draaien?
- zijn de opgegeven padnamen in de taakplanner volledig?
- is het script executeerbaar?
Maar weinig mensen kennen de --date optie voor date... Bv.
$ date "+%Y"
$ date "+%Y" --date=yesterday
-
Ha dank voor je reactie...
Ja de taakplanner draait die opdrachten onder root en de paden kloppen.
Ik een cmod -x van het script gedraaid....
Dat is toch ok?
Robert
-
Ik had wat bedacht, maar dat werkt niet.
Dat is wel een heel vage constatering. Laat de foutcode zien, of de output. Geen idee of je tegen syntax errors aanloopt, of in welke regel het mis gaat.
Run het script eerst handmatig in de terminal, of laat de taakplanner een mailtje sturen met het log.
Als je dan een idee hebt waar het fout gaat, laat dan de variabelen printen ter controle. (b.v. via een echo command of wegschrijven naar een file)
-
Ik snap, hij zegt dit (fout 126) no souch file or dir, maar die is er wel...
Taak: Copy Pix
Starttijd: Tue, 28 Jan 2020 21:24:58 GMT
Stoptijd: Tue, 28 Jan 2020 21:25:01 GMT
Huidige status: 126 (Onderbroken)
Standaard uitvoer/fout:
sh: /volume1/Share/ConfBackup/copypix2div.sh: /bin/sh^M: bad interpreter: No such file or directory
Zegt ie ook in WinSCP als ik hem in putty draai....
-
Kennelijk heb je het script gemaakt onder Windows, en bevat het ^M als regeleinden.
Als je deze weghaalt zal het beter gaan.
Overigens lijkt het me beter als je het script draait onder je eigen user id.
-
Ok, ga ik morgen proberen... dank vast
-
Voor scripts inderdaad een echte code editor gebruiken. Tekstverwerkers stoppen wel eens onzichtbare tekens in een script.
-
Niet dat ik NotePad (de vermoedelijke dader) een tekstverwerker zou willen noemen 8).
-
Het is gelukt, was idd aangepast in windows, een andere editor did the trick!
Dank
Weet je toevallig hoe ik een https certificaat kan aanmaken?
Lets encrypt komt niet verder en ik kan nergens een duidelijke handleiding vinden.
Nogmaals dank
Robert
-
Nieuw onderwerp, nieuw Topic.