rsync genom cron körs inte. [löst]

Konfiguration av nätverk, hur man använder Ubuntu som server, och håller sin dator säker
rylleman
Inlägg: 477
Blev medlem: 23 apr 2007, 16:37
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: bagarmossen

rsync genom cron körs inte. [löst]

Inlägg av rylleman »

Jag försöker sätta upp en backup på hemmaservern som drar filer från jobbservern med rsync.

*Jag har satt upp ssh-nycklar så jag kan logga in på jobbservern från hemmaservern utan att behöva ange lösen.
*rsync funkar om jag kör det i terminalen

Kod: Markera allt

rsync -ra --exclude-from=/home/server/rsync-WORK-BUP-excludes -e ssh user@url:/media/WORK/* /media/BUP/
* crontab funkar, jag testar med en touch på en lokal fil.

rsync-kommandot funkar inte i crontab (sudos crontab)

Kod: Markera allt

30 2 * * * rsync -ra --exclude-from=/home/server/rsync-WORK-BUP-excludes -e ssh user@url:/media/WORK/* /media/BUP/
Inga filer synkas. Varför!?
Senast redigerad av 1 rylleman, redigerad totalt 20 gånger.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: rsync genom cron körs inte.

Inlägg av ubot »

Det här kanske fungerar?

Kod: Markera allt

30 2 * * * bash -c "rsync -ra --exclude-from=/home/server/rsync-WORK-BUP-excludes -e ssh user@url:/media/WORK/* /media/BUP/"
rylleman
Inlägg: 477
Blev medlem: 23 apr 2007, 16:37
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: bagarmossen

Re: rsync genom cron körs inte.

Inlägg av rylleman »

Nope, funkade inte. Blev ingen backup av det heller.
ubot
Inlägg: 4613
Blev medlem: 04 jan 2008, 14:03
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS

Re: rsync genom cron körs inte.

Inlägg av ubot »

rylleman skrev:Nope, funkade inte. Blev ingen backup av det heller.
Frågan är om det är cron job:et som inte körs eller kommandot som inte fungerar? Eftersom kommandot fungerar i Terminalen så lutar det mot att det är cron job:et som inte körs ö.h.t.? Testa:

Kod: Markera allt

30 02 * * *
Testa också:

Kod: Markera allt

30 02 * * * touch /home/username/cronjob.txt
där username är din användares username.
Hittar du filen cronjob.txt i din Hemkatalog efteråt?

Du vet att 30 02 * * * betyder att cron job:et ska köras 02:30 varje dag?

Edit:
* crontab funkar, jag testar med en touch på en lokal fil.
Oj, glömde att du hade testat.
Då är det alltså kommandot som strular. Fungerar det här då?

Kod: Markera allt

30 02 * * * 'rsync -ra --exclude-from=/home/server/rsync-WORK-BUP-excludes -e ssh user@url:/media/WORK/* /media/BUP/'
Ett annat förslag är att ange hela sökvägen till kommandot rsync. Cron job kanske inte hittar kommandot om du inte anger hela sökvägen? Jag menar så här: /usr/bin/somedirectory/somecommand
Att användaren inte behöver ange hela sökvägen har ju att göra med att sökvägen finns i PATH:en. Ett cron job kanske måste få hela sökvägen till programmet?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rsync genom cron körs inte.

Inlägg av Konservburk »

rylleman skrev:*Jag har satt upp ssh-nycklar så jag kan logga in på jobbservern från hemmaservern utan att behöva ange lösen.
*rsync funkar om jag kör det i terminalen

Kod: Markera allt

rsync -ra --exclude-from=/home/server/rsync-WORK-BUP-excludes -e ssh user@url:/media/WORK/* /media/BUP/
* crontab funkar, jag testar med en touch på en lokal fil.

rsync-kommandot funkar inte i crontab (sudos crontab)

Kod: Markera allt

30 2 * * * rsync -ra --exclude-from=/home/server/rsync-WORK-BUP-excludes -e ssh user@url:/media/WORK/* /media/BUP/
Inga filer synkas. Varför!?
Den stora skillnaden mellan att köra ett kommando i terminalen och att låta cron köra samma kommando är cron har en mer begränsad miljö, dvs en betyligt midre uppsättning miljövariabler. När ett kommando fungerar från terminalen men inte från cron så är det oftast den sparsamma miljön i cron som är orsaken till problemet.
rylleman
Inlägg: 477
Blev medlem: 23 apr 2007, 16:37
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: bagarmossen

Re: rsync genom cron körs inte.

Inlägg av rylleman »

Jag trodde också att det var miljövariablarna som strulade när jag läst runt lite på nätet. Försökt otaliga varianter med export PATH osv. men fick inget att funka.

Nu har jag kommit på att det beror på ssh-verifikationen.
(Vilket jag borde kommit på mycket tidigare om jag läst mejlen...
"Permission denied (publickey,keyboard-interactive).
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]"

Nyckelparet är skapade med en normal användare men cron körs som sudo och krävs då på lösen. Jag har dock inte lyckats få till så su får ansluta till servern med ett nyckelpar. Har testat att köra både ssh-keygen och ssh-copy-id USERNAME@SERVER som sudo men jag får det inte att funka. Hur gör jag för att skapa nycklar och få till ssh-verifikationen för su?
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: rsync genom cron körs inte.

Inlägg av Konservburk »

rylleman skrev:Nyckelparet är skapade med en normal användare men cron körs som sudo och krävs då på lösen. Jag har dock inte lyckats få till så su får ansluta till servern med ett nyckelpar. Har testat att köra både ssh-keygen och ssh-copy-id USERNAME@SERVER som sudo men jag får det inte att funka. Hur gör jag för att skapa nycklar och få till ssh-verifikationen för su?
Jag har för mig att ssh letar efter nyckelfilen under /root/.ssh/id_rsa, så du kan ju testa att lägga en kopia där. Tänk även på att rättigheterna måste vara satta så att ingen annan än root kan läsa eller skriva till nyckelfilen, dvs 0600.

Fungerar det inte så kan du ange explicit vilken nyckelfil du vill använda med flaggan -i till ssh, dvs byt ut -e ssh mot
-e 'ssh -i /sökväg/till/den/privata/nyckelfilen' i ditt kommando.
rylleman
Inlägg: 477
Blev medlem: 23 apr 2007, 16:37
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: bagarmossen

Re: rsync genom cron körs inte.

Inlägg av rylleman »

Ja!

exporterade roots RSA-nyckel till servern (sudo ssh-copy-id -i /root/.ssd/id_rsa.pub USERNAME@SERVER) och nu kan root ssh t. servern utan lösen.
rsync genom cron fungerar!

Tack båda för hjälpen!
Skriv svar

Återgå till "Nätverk, säkerhet och servrar"