Flytta filer i ett cronjob, hur göra?
Flytta filer i ett cronjob, hur göra?
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.
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.
- 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?
ZIP är för Windows. Använd tar.
Använd SSH istället för FTP. Enklare att skripta och säkrare.
Använd SSH istället för FTP. Enklare att skripta och säkrare.
--
Daniel Nylander
Medlem av GNOME Foundation och Ubuntu Members
Daniel Nylander
Medlem av GNOME Foundation och Ubuntu Members
SV: Flytta filer i ett cronjob, hur göra?
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.
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.
- 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?
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.

SV: Flytta filer i ett cronjob, hur göra?
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:
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
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
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?

Senast redigerad av 1 lellel, redigerad totalt 7 gånger.
- 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?
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.2 Vilken applikation är enklast att flytta filer med i ssh? Jag har tittat på scp och curl.
find . -type f -mtime -1 -print0 | xargs -0 rm3 Hur ska jag lyckas radera filer p.g.a sitt datum?
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
Stagnation is good for nobody - after all if you don't progress you end up with gnome
- 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?
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/
-
- 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?
find /var/www/web2/backup/* -daystart -mtime +6 -deletelellel skrev: 3 Hur ska jag lyckas radera filer p.g.a sitt datum?
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.