Re: [OT] cp -ax con filtro sulla dimensione dei file.
Vinz486 ha scritto: On 3/7/06, Davide Prina wrote: $ find mydir -type d -exec echo mkdir /tmp/'{}' \; $ find mydir -type f -size -30c -exec echo cp '{}' /tmp/'{}' \; Doh!! Non va bene, non posso usarlo: devo fare un backup delle dir in /home e il mkdir eseguito da find in uno script di root, ovviamente mi crea tutte le dir con owner root... Credo che la cosa sia impossibile da fare... niente è impossibile per il _software libero_ ;-) $ man chown $ find mydir -type d -exec echo mkdir /tmp/'{}' \; -exec echo chown myuser:mygroup /tmp/'{}' \; $ find mydir -type f -size -30c -exec echo cp '{}' /tmp/'{}' \; -exec echo chown myuser:mygroup /tmp/'{}' \; naturalmente devi sostituire a myuser:mygroup i valori appropriati Ciao Davide PS: 10 flessioni come punizione :-) -- Dizionari: http://linguistico.sourceforge.net/wiki Conoscere il TC: http://www.no1984.org Strumenti per l'ufficio: http://it.openoffice.org Sistema operativo: http://www.it.debian.org Browser: http://www.mozilla.org/products/firefox Client di posta: http://www.mozilla.org/products/thunderbird GNU/Linux User: 302090: http://counter.li.org -- Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: non voglio essere invaso da spam
Re: [OT] cp -ax con filtro sulla dimensione dei file.
On 3/8/06, Davide Prina [EMAIL PROTECTED] wrote: niente è impossibile per il _software libero_ ;-) Lo so, mi sono espresso male: è impossibile con i tool standard GNU. $ man chown Lo uso tutti i giorni $ find mydir -type d -exec echo mkdir /tmp/'{}' \; -exec echo chown myuser:mygroup /tmp/'{}' \; Non conosco a priori user e group... $ find mydir -type f -size -30c -exec echo cp '{}' /tmp/'{}' \; -exec echo chown myuser:mygroup /tmp/'{}' \; Qui non serve, cp -dpx copia utenti, gruppi e permessi. naturalmente devi sostituire a myuser:mygroup i valori appropriati Cambiano sempre e non li so a priori, come detto prima. Ciao Davide PS: 10 flessioni come punizione :-) Quello che serve è che cp -dpx funzioni con le directory: lo fa con l'opzione -R ma in questo modo copia tutto in un botto e non potrei più fare il filtro sulla dimensione dei file. Mi sa che dovrò farmi uno scriptino perl che usi File::Find. PS: NON c'è un modo di farlo con i normali programmi shell di GNU, qualcuno mi smentisca... Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: non voglio essere invaso da spam Neanche io. -- PicoStreamer - the real WEB live streaming software vinz486.com
Re: [OT] cp -ax con filtro sulla dimensione dei file.
io farei così: --- #!/bin/bash dir=/home/dir/da/backup dir_dest=/dir_dove_copiare tmp_file=/tmp/`date +'%s'`_i_love_tar find $dir (parametri per trovare i file che NON vuoi includere...) $tmp_file (cd $dir tar cv --exclude-from $tmp_file *) | (cd $dir_dest tar xv) rm -fr $tmp_file - Non ho provato lo script (scritto al volo), ma anche se potrebbero esserci degli errori penso che la strategia sopra riportata sia quello che ti possa servire. Alessio Vinz486 wrote: On 3/8/06, Davide Prina [EMAIL PROTECTED] wrote: niente è impossibile per il _software libero_ ;-) Lo so, mi sono espresso male: è impossibile con i tool standard GNU. $ man chown Lo uso tutti i giorni $ find mydir -type d -exec echo mkdir /tmp/'{}' \; -exec echo chown myuser:mygroup /tmp/'{}' \; Non conosco a priori user e group... $ find mydir -type f -size -30c -exec echo cp '{}' /tmp/'{}' \; -exec echo chown myuser:mygroup /tmp/'{}' \; Qui non serve, cp -dpx copia utenti, gruppi e permessi. naturalmente devi sostituire a myuser:mygroup i valori appropriati Cambiano sempre e non li so a priori, come detto prima. Ciao Davide PS: 10 flessioni come punizione :-) Quello che serve è che cp -dpx funzioni con le directory: lo fa con l'opzione -R ma in questo modo copia tutto in un botto e non potrei più fare il filtro sulla dimensione dei file. Mi sa che dovrò farmi uno scriptino perl che usi File::Find. PS: NON c'è un modo di farlo con i normali programmi shell di GNU, qualcuno mi smentisca... Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: non voglio essere invaso da spam Neanche io. -- PicoStreamer - the real WEB live streaming software vinz486.com -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: [OT] cp -ax con filtro sulla dimensione dei file.
Vinz486 ha scritto: On 3/8/06, Davide Prina wrote: niente è impossibile per il _software libero_ ;-) $ find mydir -type d -exec echo mkdir /tmp/'{}' \; -exec echo chown myuser:mygroup /tmp/'{}' \; Non conosco a priori user e group... non avevo capito ... prova a vedere se così può andare bene: 1) crei le directory $ find mydir -type d -exec echo mkdir /tmp/'{}' \; 2) copi i file $ find mydir -type f -size -30c -exec echo cp '{}' /tmp/'{}' \; 3) generi la stringa per settare i permessi corretti $ echo `find a -exec echo -n chown \; -printf %u:%g -exec echo /tmp/'{};' \;` non riesco a capire come far eseguire direttamente il punto 3 ... ci deve essere il modo ... ma ora mi sfugge qualcosa Ciao Davide -- Dizionari: http://linguistico.sourceforge.net/wiki Conoscere il TC: http://www.no1984.org Strumenti per l'ufficio: http://it.openoffice.org Sistema operativo: http://www.it.debian.org Browser: http://www.mozilla.org/products/firefox Client di posta: http://www.mozilla.org/products/thunderbird GNU/Linux User: 302090: http://counter.li.org -- Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: non voglio essere invaso da spam
Re: [OT] cp -ax con filtro sulla dimensione dei file.
Vinz486 ha scritto: Devo copiare un ramo di un filesystem in un altro ma escludendo nella copia i file che sono più grandi di una certa dimensione. per crearti la struttura delle directory (qui ho fatto una prova copiando da mydir a /tmp e quindi ottenendo /tmp/mydir) $ find mydir -type d -exec echo mkdir /tmp/'{}' \; Nota: devi posizionarti nella directory che contiene la directory mydir Nota che il comando esegue un'echo dei comandi, per eseguirlo devi eliminare il comando echo per copiare i file più piccoli di 30 byte $ find mydir -type f -size -30c -exec echo cp '{}' /tmp/'{}' \; Ciao Davide -- Dizionari: http://linguistico.sourceforge.net/wiki Conoscere il TC: http://www.no1984.org Strumenti per l'ufficio: http://it.openoffice.org Sistema operativo: http://www.it.debian.org Browser: http://www.mozilla.org/products/firefox Client di posta: http://www.mozilla.org/products/thunderbird GNU/Linux User: 302090: http://counter.li.org -- Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: non voglio essere invaso da spam
Re: [OT] cp -ax con filtro sulla dimensione dei file.
On 3/7/06, Davide Prina [EMAIL PROTECTED] wrote: $ find mydir -type d -exec echo mkdir /tmp/'{}' \; $ find mydir -type f -size -30c -exec echo cp '{}' /tmp/'{}' \; Doh!! Non va bene, non posso usarlo: devo fare un backup delle dir in /home e il mkdir eseguito da find in uno script di root, ovviamente mi crea tutte le dir con owner root... Credo che la cosa sia impossibile da fare... -- PicoStreamer - the real WEB live streaming software vinz486.com