View Full Version : Chi mi aiuta con un file "bat"/perl su ubuntu?
Helen_baby40
15-11-2013, 17:37
Ciao ragazzi,
sono completamente a digiuno in Linux,ubuntu e quant'altro quindi chiedo a voi,magari qualcuno mi può/vuole aiutare.Devo creare un file bat o per meglio dire un file perl con comandi bat che,una volt lanciato,se fosse un file sh dovrebeb eseguire il comando solo una volta cioè quando lo si lancia...dicevo un file perl che mi aggiorni un sito con dati txt prelevando il file dati da una cartella...e uan volta prelevato lo passa via ftp sul siti web,provo ad essere più chiara...nella cartella CONTEGGI che ho su ubuntu ho un file che si chiama conti.txt questo file è aggiornati ogni 5 minuti lo script perl dovrebbe "andare" in CONTEGGI prelevare il file conti.txt e uppare il file su un ftp che poi corrisponderebbe ad un mio sito web.Prima di passare il nuovo file conti.txt deve però,un volta connesso al sito eliminare il vecchio file conti.txt.Questa operazione,ed ecco perché in perl e non sh,deve essere fatto in automatico ogni 15 minuti in automatico.
Qualcuno ha idea di come farlo e mi vorrebbe aiutare?
Grazie
Helen
parti da:
http://bash-script.b2com.org/bash-caricare-un-file-tramite-ftp/
e poi "cron" per la schedulazione
Helen_baby40
15-11-2013, 22:02
parti da:
http://bash-script.b2com.org/bash-caricare-un-file-tramite-ftp/
e poi "cron" per la schedulazione
dici che lanciando quel file in perl su ubuntu dalla cartella dove ho il file conti.txt in automatico lo upperà sul server ftp della mia pagina web?
Lanciando il file perl resterebbe attivato quindi dovrei inserirci una stringa "temporale" che dica allo script ogni quanto deve fare la procedura di upload dopo aver eliminato il vecchi file conti.txt sul ftp giusto?
Ciao
Helen
:cool:
quello script e' in bash
devi inserire prima della "put" il "cd" alla dir dove e' quel file
nell'esempio prende la "$cartella" da parametro
per schedularlo ogni x minuti prova tipo:
http://www.andreacardinali.it/impostare-un-cron-con-linux/
Helen_baby40
16-11-2013, 09:15
quello script e' in bash
devi inserire prima della "put" il "cd" alla dir dove e' quel file
nell'esempio prende la "$cartella" da parametro
per schedularlo ogni x minuti prova tipo:
http://www.andreacardinali.it/impostare-un-cron-con-linux/
ok ti ringrazio per glis forzi che stai facendo ma io sono a 0...quello script lo si lancia una sola volta quindi non resta in memoria nella macchina come se fosse un file perl cioè lo devo eseguire ogni volta da terminale?A me per questo serve un perl file scritto in perl appunto per essere lanciato solo una volta e farlo restare residente nella memoria del pc...oppure il "linguaggio bash" è il linguaggio che si usa per "fare" i file perl?
Ciao
Helen
:cool:
ps:se lanciassi il perl dalla stessa cartella dove sta il file conti.txt potrei evitare di scrivere il nome della cartella?Inoltre cosa dovrei scrivere per eliminare il file vecchio si ftp conti.txt prima di uppare quello aggiornato?
- il mio suggerimento e' uno script bash, ( il perl non lo conosco )
- la directory dove hai il file puoi metterla anche in chiaro dentro lo script
- questo script bash per eseguirlo a tempo devi inserirlo in crontab
(come dice il link di sopra)
- quando fai la put se il file esiste lo sovrascrive
C.Giacobazzi
16-11-2013, 15:04
Io da bash uso wput per fare gli upload
wput -q file ftp://username:password@sito
per ripetere lo script uso cron o lo aggiungo a conky con
${execi secondi ~/path/to/bash/script.sh}
Helen_baby40
16-11-2013, 15:12
Io da bash uso wput per fare gli upload
wput -q file ftp://username:password@sito
per ripetere lo script uso cron o lo aggiungo a conky con
${execi secondi ~/path/to/bash/script.sh}
quindi potrei,tralasciando il cron
wput -q nomefile ftp://user:pass@indirizzohostftp:numeroporta ìnserendo questo in un txt.sh e lanciandolo ogni volta mi dovrebbe uppare il file nomefile esatto?
Ciao
Helen
:cool:
C.Giacobazzi
16-11-2013, 16:57
quindi potrei,tralasciando il cron
wput -q nomefile ftp://user:pass@indirizzohostftp:numeroporta ìnserendo questo in un txt.sh e lanciandolo ogni volta mi dovrebbe uppare il file nomefile esatto?
Ciao
Helen
:cool:
Esatto il file txt.sh risulterebbe circa cosi:
#!/bin/bash
cd /to/path/ <- il percorso dove hai il file nomefile
wput -q nomefile ftp://user:pass@indirizzohostftp:numeroporta
Helen_baby40
16-11-2013, 17:55
Esatto il file txt.sh risulterebbe circa cosi:
#!/bin/bash
cd /to/path/ <- il percorso dove hai il file nomefile
wput -q nomefile ftp://user:pass@indirizzohostftp:numeroporta
potrebbe andare in alternativa al file perl e cron potrei farlo partire in remoto cioè ne farei pertire due questo del tuo esempio come secondo file sh e come primo file un sh dove dovrei eliminare prima il vecchio file conti.txt sul server ftp vedi se sbaglio allora sarebbe:
txt2.sh
#!/bin/bash
cd / CONTEGGI
wput -q conti.txt ftp://user:pass@indirizzohostftp:numeroporta
questo per uppare il file conti.txt
ma per eliminare prima il file conti.txt sul server ftp cosa dovrei scrivere in un "eventuale" txt1.sh ?
Ciao e grazie
Helen
:cool:
Io da bash uso wput per fare gli upload
wput -q file ftp://username:password@sito
non lo conoscevo...
in effetti semplifica la situazione
grazie
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.