[Risolto] ncftpget cancellazione directory remote

Installazione, configurazione e uso di programmi e strumenti.
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

[Risolto] ncftpget cancellazione directory remote

Messaggio da nuzzopippo »

Salve a tutti.

sto cercando di ideare l'automatizzazione di alcuni processi di scansione documenti su server ftp in lan intranet tramite script bash che "dovrebbero" scaricarsi in locale i files prodotti da una scansione, conservati in sotto-cartelle generate dalla scnsione, cancellandoli dal server, e quindi manipolarli.
Sto eseguendo dei test preliminari a linea di comando utilizzando la suite ncftp.

Con il comando "ncftpget" mi riesce facilmente di scaricare una serie di scansioni, dando ad esempio :

Codice: Seleziona tutto

xxxxxxxxx@xx:~/my_tmp/test$ ncftpget -T -R -u "xxxxxxxxxx" -p "xxxxxxxxxxxxxxxx" 192.168.0.8 lavoro test/scan00
lavoro/scan00/img-170126131301/img-170126131301.pdf:     2.55 MB   11.21 MB/s  
lavoro/scan00/img-170126132207/img-170126132207.pdf:     1.16 MB   11.19 MB/s  
mi vengono correttamente ricreate le cartelle ed i files da lavorarsi ... mi sto incerniando sulla cancellazione degli stessi dal server; ho provato ad utilizzare l'opzione "-DD" di ncftpget che, dal man,

Codice: Seleziona tutto

-DD     Delete remote file after successfully downloading it.
"dovrebbe" eliminare i files una volta eseguito con successo i download ... eseguito il seguente test

Codice: Seleziona tutto

xxxxxxxxx@xx:~/my_tmp/test$ ncftpget -T -R -DD -u "xxxxxxxxxx" -p "xxxxxxxxxxxxxxxx" 192.168.0.8 lavoro test/scan00
lavoro/scan00/img-170126131301/img-170126131301.pdf:     2.55 MB   11.21 MB/s  
lavoro/scan00/img-170126132207/img-170126132207.pdf:     1.16 MB   11.19 MB/s  
nulla viene cancellato sul server, in compenso mi vengono inibiti ulteriori accessi alla direttrice :

Codice: Seleziona tutto

xxxxxxxxx@xx:~/my_tmp/test$ ncftpget -T -R -u "xxxxxxxxxx" -p "xxxxxxxxxxxxxxxx" 192.168.0.8 lavoro test/scan00
Could not traverse directory: could not parse extended file or directory information.
È evidente che non ho capito l'utilizzo dell'opzione -DD, ho fatto diversi test ma non ne son venuto a capo, probabilmente sto sbagliando l'approccio.

Qualcuno saprebbe illuminarmi tanto sull'opzione -DD di ncftpget quanto sul corretto approccio per l'eliminazione dei files scaricati e directory correlate?

Grazie per l'attenzione :)
Ultima modifica di nuzzopippo il lunedì 30 gennaio 2017, 8:12, modificato 1 volta in totale.
Fatti non foste a viver come bruti ...
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: ncftpget cancellazione directory remote

Messaggio da thece »

:ciao:

applicazione mai usata, ma la prima domanda che mi viene in mente è: l'utente FTP ha i necessari diritti sulla directory remota per eseguire la cancellazione?
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: ncftpget cancellazione directory remote

Messaggio da nuzzopippo »

Si, il server (vsftpd) l'ho definito io, rispolverando le idee anche con il link nella Tua firma ;) (grazie), già sperimentata la cancellazione manuale tramite ftp, funziona.

È una struttura che sto cercando di creare io nei (pochi) ritagli di tempo per poi proporla al fine di far cessare una cattivissima abitudine lavorativa che comporta la produzione di centinaia di migliaia di copie cartacee di documenti (in 2-3 copie ognuno).

L'idea è di utilizzare gli scanner multifunzione che usano per fare copie (Xerox 6500) facendo eseguire la scansione in PDF su server FTP e poi, tramite script bash/zenity fare il download in locale dei file su alcune macchine, cancellandoli dal server, lavorarli con pdftk e ritrasmetterli, organizzati, ad un altro utente, sullo stesso server, che sarà anche sede di un virtualhost che avrà suoi script (tutti da fare) per l'aggiornamento temporizzato delle pagine dei documenti.
Il tutto dovrà essere ad interfaccia mooolto semplice, dato che devono usarlo utonti della peggior specie.

Dato il pochissimo tempo disponibile, stavo cercando di risparmiarmi di strutturare funzioni ricorsive per il download/cancellazione/eliminazione directory, oltre tutto con bash non mi trovo molto a mio agio, preferendo i linguaggi di programmazione "propri" ... quindi ci stavo provando con ncftp :D
Fatti non foste a viver come bruti ...
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: ncftpget cancellazione directory remote

Messaggio da thece »

Come recita la documentazione
-DD
Delete remote file after successfully downloading it.
devi procedere per altra strada

Scriptino grezzo da 5 minuti

Codice: Seleziona tutto

#!/bin/bash

# Simulo il caricamento dei documenti PDF sul server FTP
ncftpput -u "FTPUSER" -p "FTPPASSWORD" -R 192.168.0.15 uploads /home/thece/PDF

# Scarico localmente i documenti PDF dal server FTP
ncftpget -u "FTPUSER" -p "FTPPASSWORD" -T -R -DD 192.168.0.15 /temp uploads/PDF

# Cancello la directory che contiene i documenti PDF sul server FTP
ncftp -u "FTPUSER" -p "FTPPASSWORD" 192.168.0.15 << EOF
rm -rf uploads/PDF
quit
EOF

exit 0
Ultima modifica di thece il sabato 28 gennaio 2017, 12:03, modificato 1 volta in totale.
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: ncftpget cancellazione directory remote

Messaggio da nuzzopippo »

L'avevo immaginato, anche se speravo che "File" fosse omnia-comprensivo, dal punto di vista unix (se non sbaglio) è quasi tutto un file ... tornerò al buon vecchio ftp ed alle ricorsioni

Grazie :birra:

[Edit] Ovviamente testerò lo scriptino, magari potrebbe anche bastare, ciao ;)
Ultima modifica di nuzzopippo il sabato 28 gennaio 2017, 11:54, modificato 1 volta in totale.
Fatti non foste a viver come bruti ...
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: ncftpget cancellazione directory remote

Messaggio da thece »

Non serve alcuna ricorsione, hai visto il mio script?
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: ncftpget cancellazione directory remote

Messaggio da nuzzopippo »

si, ho visto lo -rf ... come scritto in edit testo ed uso, grazie ancora :)
Fatti non foste a viver come bruti ...
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: [RISOLTO] ncftpget cancellazione directory remote

Messaggio da nuzzopippo »

Lo scriptino di @thece risolve egregiamente la faccenda, rinnovo il mio ringraziamento, lo ho applicato con una piccola variante :

Codice: Seleziona tutto

#!/bin/bash

ncftpget -T -R -u "utente_ftp" -p "passwd_ut_ftp" 192.168.0.8 lavoro test/scan00

ncftp -u "utente_ftp" -p "passwd_ut_ftp" 192.168.0.8 << EOF
cd test/scan00
rm -rf *
quit
EOF
per conservare la struttura delle direttrici ci riferimento, dato che posto "rm -rf test/scan00/*" si aveva come risultato : delete test/scan00/*: no match.
Non ho testato ulteriori varianti, anche se mi sembra probabile esistano.

Approfitto del buon @thece per una curiosità per mia cultura : non avevo mai visto la notazione

Codice: Seleziona tutto

 << EOF
cd test/scan00
rm -rf *
quit
EOF
mi sembra evidente sia un reindirizzamento di una serie di istruzioni alla connessione, cos'è "EOF", un delimitatore? potresti sommariamente indirizzarmi per capirne il funzionamento?

[Edit] so che nell'uso "comune" indica Endo Of File :)
Ultima modifica di nuzzopippo il lunedì 30 gennaio 2017, 10:15, modificato 1 volta in totale.
Fatti non foste a viver come bruti ...
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13190
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: [RISOLTO] ncftpget cancellazione directory remote

Messaggio da thece »

nuzzopippo [url=http://forum.ubuntu-it.org/viewtopic.php?p=4954491#p4954491][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: Approfitto del buon @thece per una curiosità per mia cultura : non avevo mai visto la notazione
...
mi sembra evidente sia un reindirizzamento di una serie di istruzioni alla connessione, cos'è "EOF", un delimitatore? potresti sommariamente indirizzarmi per capirne il funzionamento?
E' una forma di redirezione dell'I/O chiamata "Here Document". Ad esempio, dai una letta QUI
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti