Kopiera filer med logg?
Kopiera filer med logg?
Hej,
Det är så att jag försöker få till det att ett script skall köras och kopiera allt i en speciell mapp till en annan mapp när scriptet körs.
Problemet är bara det att jag vill att scriptet skall komma ihåg vilka mappar den kopierar så att det inte kopierar samma mappar varje gång.
Någon som har ett script för detta?
Det är så att jag försöker få till det att ett script skall köras och kopiera allt i en speciell mapp till en annan mapp när scriptet körs.
Problemet är bara det att jag vill att scriptet skall komma ihåg vilka mappar den kopierar så att det inte kopierar samma mappar varje gång.
Någon som har ett script för detta?
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
rsync har det där inbyggt... 

Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Kopiera filer med logg?
Okej,
För det jag vill är att det hamnar filer löpande i mappen "Other" och jag vill att allt innehåll som är nytt kopieras från "Other" till en annan mapp.
Saker i Other raderas även löpande detta är inget som jag vill skall påverka den mappen som jag kopierar filerna till.
Klarar rsync detta?
För det jag vill är att det hamnar filer löpande i mappen "Other" och jag vill att allt innehåll som är nytt kopieras från "Other" till en annan mapp.
Saker i Other raderas även löpande detta är inget som jag vill skall påverka den mappen som jag kopierar filerna till.
Klarar rsync detta?
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
Jadå, det ska rsync klara av...
(Om du vill ha ett enkelt gränssnitt mot rsync så kan du kika på
luckybackup...)

(Om du vill ha ett enkelt gränssnitt mot rsync så kan du kika på

Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Kopiera filer med logg?
Osprey skrev:Jadå, det ska rsync klara av...![]()
(Om du vill ha ett enkelt gränssnitt mot rsync så kan du kika påluckybackup...)
Hej,
Jag prövade med följande commando:
Kod: Markera allt
rsync -ah /media/w01/Downloads/Other/ /media/m01/New/
Men om den kopierade mappen raderas i mottagarmappen och den kopierade mappen finns kvar i send mappen så kopieras mappen åter igen, detta är något som jag skulle vilja förhindra är det möjligt?
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
Det där blir liksom lite komplexa villkor, det innebär att en fil som heter "a" ska endast kopieras om det inte tidigare har kopierats en fil som heter "a", oavsett om den gamla och den nya "a" är samma fil eller inte, eller?
Och visst, det går säkert att åstadkomma genom att plocka filnamn ur en loggfil och sedan lägga dem i en fil man använder ihop med --exclude-from=FILE...
Och visst, det går säkert att åstadkomma genom att plocka filnamn ur en loggfil och sedan lägga dem i en fil man använder ihop med --exclude-from=FILE...
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Kopiera filer med logg?
Osprey skrev:Det där blir liksom lite komplexa villkor, det innebär att en fil som heter "a" ska endast kopieras om det inte tidigare har kopierats en fil som heter "a", oavsett om den gamla och den nya "a" är samma fil eller inte, eller?
Och visst, det går säkert att åstadkomma genom att plocka filnamn ur en loggfil och sedan lägga dem i en fil man använder ihop med --exclude-from=FILE...
Kör på att endast köra kopiering till en början.
Re: Kopiera filer med logg?
Osprey skrev:Det där blir liksom lite komplexa villkor, det innebär att en fil som heter "a" ska endast kopieras om det inte tidigare har kopierats en fil som heter "a", oavsett om den gamla och den nya "a" är samma fil eller inte, eller?
Och visst, det går säkert att åstadkomma genom att plocka filnamn ur en loggfil och sedan lägga dem i en fil man använder ihop med --exclude-from=FILE...
Detta fungerade riktigt bra med exclude listan m.m.
Men sista frågan, när mitt program kör scriptet så kan jag endast fylla i följande i programmet: /hej/test.sh
hur gör jag så att test.sh körs genom det där lilla?
Jag vet att i terminalen så räcker det att skrvia bash /hej/test.sh men kan inte fylla i bash innan i config filen i programmet.
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
Prova med att göra "chmod 755 /hej/test.sh" en gång så ska det funka sedan...
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Kopiera filer med logg?
hmm verkar inte fungera:Osprey skrev:Prova med att göra "chmod 755 /hej/test.sh" en gång så ska det funka sedan...
Kod: Markera allt
snurre@snurre:/media/w01/Downloads/Script$ /media/w01/Downloads/Script/transmission.sh
-bash: /media/w01/Downloads/Script/transmission.sh: /: bad interpreter: Permission denied
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
Den utskriften säger förmodligen bara i stort sett att du måste göra samma sak med transmission.sh, dvs.devos skrev:hmm verkar inte fungera:Osprey skrev:Prova med att göra "chmod 755 /hej/test.sh" en gång så ska det funka sedan...Kod: Markera allt
snurre@snurre:/media/w01/Downloads/Script$ /media/w01/Downloads/Script/transmission.sh -bash: /media/w01/Downloads/Script/transmission.sh: /: bad interpreter: Permission denied
Kod: Markera allt
sudo chmod 755 /media/w01/Downloads/Script/transmission.sh
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Kopiera filer med logg?
Osprey skrev:Den utskriften säger förmodligen bara i stort sett att du måste göra samma sak med transmission.sh, dvs.devos skrev:hmm verkar inte fungera:Osprey skrev:Prova med att göra "chmod 755 /hej/test.sh" en gång så ska det funka sedan...Kod: Markera allt
snurre@snurre:/media/w01/Downloads/Script$ /media/w01/Downloads/Script/transmission.sh -bash: /media/w01/Downloads/Script/transmission.sh: /: bad interpreter: Permission denied
...det som det här kommandot gör, är att ge dig rättighet att köra den filen du anger, som ett program/script...Kod: Markera allt
sudo chmod 755 /media/w01/Downloads/Script/transmission.sh
La in det i crontab istället och det fungerade jätte bra där.
Dock så vill jag att det körs var 3:de minut.
Finns det på något sätt, att scriptet kollar om rsync arbetar och om rsync arbetar så ska inte scriptet köra igång så att säga?
Man vill ju inte att det körs två samtidigt osv.
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
crontab ska klara av att köra var 3:dje minut om du anger "*/3" i minutfältet.devos skrev:La in det i crontab istället och det fungerade jätte bra där.
Dock så vill jag att det körs var 3:de minut.
Finns det på något sätt, att scriptet kollar om rsync arbetar och om rsync arbetar så ska inte scriptet köra igång så att säga?
Man vill ju inte att det körs två samtidigt osv.
Att den inte ska köra om scriptet redan är igång kan du fixa med:
Kod: Markera allt
script_running=$(ps -ef | grep scriptnamn)
if [[ -z $script_running ]]; then
# gör allt som ska göras...
fi
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Kopiera filer med logg?
Just nu håller jag på att försöker rensa upp rsync log-filen.
Jag har en exclude fil, men kan inte använda rsync logfilen för den består av massa "dravel" går det inte att den endast listar dom filer som den har flyttat?
Tänkte så man kan använda den som exclude fil också.
Edit:
Så här ser scriptet ut just nu.
och det körs var 3:de minut med crontab.
Jag har en exclude fil, men kan inte använda rsync logfilen för den består av massa "dravel" går det inte att den endast listar dom filer som den har flyttat?
Tänkte så man kan använda den som exclude fil också.
Edit:
Så här ser scriptet ut just nu.
Kod: Markera allt
#! / bin / sh
script_running=$(ps -ef | grep move.sh)
if [[ -z $script_running ]]; then
rsync -ah --exclude-from='/home/snurre/Script/transmission/move_exclude.txt' --log-file='/home/snurre/Script/transmission/move_log.txt' /media/w01/Downloads/TV/ /media/m01/New/TV/
rsync -ah --exclude-from='/home/snurre/Script/transmission/move_exclude.txt' --log-file='/home/snurre/Script/transmission/move_log.txt' /media/w01/Downloads/Movie/ /media/m01/New/Movie/
rsync -ah --exclude-from='/home/snurre/Script/transmission/move_exclude.txt' --log-file='/home/snurre/Script/transmission/move_log.txt' /media/w01/Downloads/Swesub/ /media/m01/New/Swesub/
rsync -ah --exclude-from='/home/snurre/Script/transmission/move_exclude.txt' --log-file='/home/snurre/Script/transmission/move_log.txt' /media/w01/Downloads/Other/ /media/m01/New/Other/
fi
och det körs var 3:de minut med crontab.
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
Jag vet faktiskt inte om man kan styra loggen från rsync. Men det är inte helt omöjligt, så sök med "rsync log format" på nätet...devos skrev:Jag har en exclude fil, men kan inte använda rsync logfilen för den består av massa "dravel" går det inte att den endast listar dom filer som den har flyttat?
Scriptet ser fint ut och det är enkelt och stabilt...

Men första raden borde inte se ut som "#! / bin / sh", utan som "#! /bin/bash"...
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Kopiera filer med logg?
Osprey skrev:Jag vet faktiskt inte om man kan styra loggen från rsync. Men det är inte helt omöjligt, så sök med "rsync log format" på nätet...devos skrev:Jag har en exclude fil, men kan inte använda rsync logfilen för den består av massa "dravel" går det inte att den endast listar dom filer som den har flyttat?
Scriptet ser fint ut och det är enkelt och stabilt...![]()
Men första raden borde inte se ut som "#! / bin / sh", utan som "#! /bin/bash"...
När jag lägger till din del i scriptet så funkar det inte, dvs inget händer när jag försöker köra scriptet.
Men när jag tar bort det så fungerar det.
Vad kan det tänkas vara för feL?
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Kopiera filer med logg?
Vilken del är det du lägger till..?devos skrev:När jag lägger till din del i scriptet så funkar det inte, dvs inget händer när jag försöker köra scriptet.
Men när jag tar bort det så fungerar det.
Den första raden i ett script i Linux och Unix anger vilken interpretator som ska tolka scriptet, eller med andra ord alltså vilken shell som ska köra det. I din första rad så står det "/bin/sh" med en massa mellanslag, medan "/bin/bash" är det vanliga i Linux.
Och bash bygger på sh, som är en äldre och enklare variant av det hela. Allting som är skrivet för sh kan köras i bash, men inte alltid omvänt. Bland annat så lär inte en if-sats av formen "if [[...", funka i sh.
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...