Flytta filer i ett cronjob, hur göra?

Här diskuteras programmering och utveckling
lellel
Inlägg: 3
Blev medlem: 25 feb 2007, 22:48
Ort: Sverige
Kontakt:

Flytta filer i ett cronjob, hur göra?

Inlägg av lellel »

Hej!

Jag skulle vilja ha ett script som gör följande automatiskt en gång per dygn:

1 hämtar alla filer som ligger i

/var/www/web1/backup/dagens_datum.zip
/var/www/web2/backup/dagens_datum.zip
/var/www/web3/backup/dagens_datum.zip
etc...

2 ftp:ar upp filerna till en ftp med samma struktur, dvs:
ftp://home/ftpmappen/web1/backup/dagens_datum.zip
ftp://home/ftpmappen/web2/backup/dagens_datum.zip
ftp://home/ftpmappen/web3/backup/dagens_datum.zip
etc

3 rensar undan gamla backuper vart efter nya anländer dvs:
rm ftp://home/ftpmappen/web1/backup/alla_f ... _vecka_tex
rm ftp://home/ftpmappen/web2/backup/alla_f ... _vecka_tex
rm ftp://home/ftpmappen/web3/backup/alla_f ... _vecka_tex
etc

och på det viset ständigt har ett gäng fräsha backuper på de websidor jag hostar...

Min fråga är alltså:
Är detta görbart?
Nån som har en bra how-to till mina önskemål att referera till?

Det känns som om detta borde vara "ganska basic" att få till, men då jag i det närmaste är helt grön på området är det svårt att hitta en enda att börja dra i.

Mycket tacksam för hjälp!

Mvh Daniel

Oj! Det slog mig att ämnet kanske inte hör hemma här, men i så fall ber jag en vänlig moderator att flytta det till en mer passande tråd.
Senast redigerad av 1 lellel, redigerad totalt 3 gånger.
Användarvisningsbild
Daniel Nylander
Inlägg: 1002
Blev medlem: 21 aug 2006, 14:57
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Stockholm
Kontakt:

SV: Flytta filer i ett cronjob, hur göra?

Inlägg av Daniel Nylander »

ZIP är för Windows. Använd tar.
Använd SSH istället för FTP. Enklare att skripta och säkrare.
--
Daniel Nylander
Medlem av GNOME Foundation och Ubuntu Members
lellel
Inlägg: 3
Blev medlem: 25 feb 2007, 22:48
Ort: Sverige
Kontakt:

SV: Flytta filer i ett cronjob, hur göra?

Inlägg av lellel »

Tyvärr kan jag inte påverka filformatet, dom blir utspottade dit av ett annat script, som jag inte har en aning om hur det fungerar.

Däremot kan jag tänka mig att ssh:a filerna istället... =)

Mitt största problem just nu är att jag inte har en aning om hur man skriver script... =/
Borde inte vara så svårt, men jag vet inte ens vad jag ska leta efter.
Användarvisningsbild
maths57
Inlägg: 2911
Blev medlem: 22 jun 2007, 15:10
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

SV: Flytta filer i ett cronjob, hur göra?

Inlägg av maths57 »

Det låter som om man skulle behöva skapa en eller flera loopar som bläddrar igenom /var/www och lägger upp en zip-fil i taget till FTP-servern till det inte finns några kvar att skicka iväg. Sedan skulle skriptet köra ett kommando som med ett reguljärt uttryck raderar filer som är äldre än 7 dagar. Någonstans har jag sett ett skript som just lägger upp filer på en FTP-server, men minns inte var. Antagliten får man använda kommandot ftp. Det skulle kunna gå, men tyvärr klar inte jag av det eftersom min hjärna inte klarar programmering av det här slaget. :'( Men det finns ju duktiga programmerare på det här forumet.
lellel
Inlägg: 3
Blev medlem: 25 feb 2007, 22:48
Ort: Sverige
Kontakt:

SV: Flytta filer i ett cronjob, hur göra?

Inlägg av lellel »

nu har jag lyckats med en jätteful lösing till 1 och 2. Den är inte vacker, men det är allt jag lyckats lura ut. den ser ut som följer:

Kod: Markera allt

find /var/www/web*/backup -name *.zip > /home/daniel/backuper.txt

wput ftp://user:pass@192.168.x.x:21 --input-file ~/backuper.txt
Så det är inte vackert, det är med ftp fast det fungerar.

Jag har 2 frågor som jag behöver svar på innan jag kan fundera mer.

1 Att göra filurvalet via en extern fil känns lite.... sådär. Hur gör jag urvalet på ett snyggare sätt och håller mig till en fil?

2 Vilken applikation är enklast att flytta filer med i ssh? Jag har tittat på scp och curl.

3 Hur ska jag lyckas radera filer p.g.a sitt datum?

Mvh Daniel

PS. Jag behöver kanske inte tillägga att jag ALDRIG nånsin skrivit nåt med avancerat än en mycket enkel .bat -fil i dos för LÄNGE se? =) DS
Senast redigerad av 1 lellel, redigerad totalt 7 gånger.
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

SV: Flytta filer i ett cronjob, hur göra?

Inlägg av mcNisse »

2 Vilken applikation är enklast att flytta filer med i ssh? Jag har tittat på scp och curl.
I skript skulle jag tro att det är curl. Har för mig att det är besvärligt att få in lösenordet till scp/ssh. Annars är ju scp enklare.
3 Hur ska jag lyckas radera filer p.g.a sitt datum?
find . -type f -mtime -1 -print0 | xargs -0 rm

Detta tar bort filer som är modifierade idag. Har för mig att ett plus (+) ger filer som är äldre. Kolla man find för mer information.
KDE 4.5 SC är ute i det fria!!! Tjoho

Stagnation is good for nobody - after all if you don't progress you end up with gnome
Användarvisningsbild
johanre
Serveradmin
Inlägg: 3888
Blev medlem: 22 okt 2006, 09:13
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Malmö

SV: Flytta filer i ett cronjob, hur göra?

Inlägg av johanre »

Som jag precis tipsade Emil S. om i en annan tråd skulle jag även här rekommendera bontmia. http://folk.uio.no/johnen/bontmia/
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

SV: Flytta filer i ett cronjob, hur göra?

Inlägg av KiviE »

lellel skrev: 3 Hur ska jag lyckas radera filer p.g.a sitt datum?
find /var/www/web2/backup/* -daystart -mtime +6 -delete

6an är antal dagar. 0 är dagens datum!

Är det några andra filer i backup mappen? isf kommer de också försvinna, går nog att lösa med ett regexp.
Skriv svar

Återgå till "Programmering och webbdesign"