[RISOLTO] Copiare tutto tranne...

Installazione, configurazione e uso di programmi e strumenti.
Avatar utente
micettonero
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 772
Iscrizione: domenica 5 febbraio 2006, 11:49
Contatti:

Re: Copiare tutto tranne...

Messaggio da micettonero »

Ecco potrei fartelo in Java, però è da tanto che non lo uso, dovrai aspettare a domani...
Linux Registered User #409415
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
rusca86
Prode Principiante
Messaggi: 35
Iscrizione: mercoledì 10 maggio 2006, 13:56

Re: Copiare tutto tranne...

Messaggio da rusca86 »

micettonero ha scritto: Ecco potrei fartelo in Java, però è da tanto che non lo uso, dovrai aspettare a domani...
ok ok, aspetto!
grazie 1000!
Born to Lose - Live to Win
rusca86
Prode Principiante
Messaggi: 35
Iscrizione: mercoledì 10 maggio 2006, 13:56

Re: Copiare tutto tranne...

Messaggio da rusca86 »

raga... ci son riuscito!!!
facendo tutto da terminale! niente script, programma od altro... mi son dovuto impegnare, ma alla fine ce l'ho fatta (good)

grazie a tutti, in particolare grazie a micettonero per la pazienza e l'aiuto (b2b)
Born to Lose - Live to Win
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: [RISOLTO] Copiare tutto tranne...

Messaggio da simo_magic »

fai vedere come hai fatto però: cosi chei ha il tuo stesso problema può risolvere pure lui  ;)
rusca86
Prode Principiante
Messaggi: 35
Iscrizione: mercoledì 10 maggio 2006, 13:56

Re: [RISOLTO] Copiare tutto tranne...

Messaggio da rusca86 »

giusto... non c'avevo nemmeno pensato  >:(
cmq, mi son messo un po' a rileggere i miei "appunti" di bash-scripting, regular expressione ecc., e dopo un po' di tentativi (ed incacchiature varie) son riuscito!

Codice: Seleziona tutto

cd sorgente && echo cp -Ruv `/bin/ls | grep -v "^cartella_o_file_da_escludere$"` destinazione | sh
Non so se sapete un po' di shell, scripting ecc... se sì: penso non sia poi così difficile da capire, altrimenti... cerco di spiegarvelo:
in pratica sto dicendo di copiare (in realtà, non copio, ma faccio un update -> cioè copio solo i file modificati rispetto a quelli già presente in "destinazione") tutto il contenuto della cartella "sorgente" e tutte le sue sottodirectory ad esclusione della cartella/file cartella_o_file_da_escludere.
Io il nome della cartella/file da escludere l'ho messo tra ^ e $, ma in realtà se ne poteva fare a meno.
Il tutto viene copiato nella cartella destinazione.
Infine quell' sh, indica di interpretare il comando come uno comando di shell.

Spero di essermi riuscito a spiegare e che... possa risultare utile a qualcuno ;)
Born to Lose - Live to Win
Sandro kensan
Prode Principiante
Messaggi: 2
Iscrizione: martedì 21 ottobre 2014, 0:20

Re: [RISOLTO] Copiare tutto tranne...

Messaggio da Sandro kensan »

Anch'io avevo lo stesso problema di partenza ovvero fare un backup ma avevo bisogno di maggiore flessibilità e di uno script unico. Volevo non solo escludere un file ma una lista di files e visto che conosco un po' di php ho scritto questo:

Codice: Seleziona tutto

<?php
#2020 dicembre

$home = "/home/sandro";
$desktop = $home . "/Desktop";
$backupdir ="/run/media/sandro/satadisk1/";
$blacklist = array("Trash", "Altro", "old");

mkdir($backupdir."sandro/", 0750);
mkdir($backupdir."sandro/Desktop", 0750);
$d = dir($desktop);
#echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
		if (substr($entry, 0, 1) != ".") {
			if (! in_array($entry, $blacklist)) {
				#$list[] = $entry;
				echo $entry;
				exec("cp -r \"".$desktop."/".$entry."\" ".$backupdir."sandro/Desktop"." &");
				echo ". ";
			}
		}
				
}
$d->close();
echo "\n";
?>
per eseguirlo dare $ php script.php
dove script.php è il nome del file qui sopra (occorre installare il pacchetto php).

Questo script copia tutto quello che c'è nel Desktop nella cartella di backup ovvero $bacupdir ("/run/media/sandro/satadisk1/";) mantenendo la stessa struttura ovvero copia da /home/sandro/Desktop in $backupdir."sandro/Desktop".

Si può usare per fare il backup di altre cartelle dello stesso tipo ovvero Documents, Videos, Music, Pictures, ecc. basta sostituire a Desktop la cartella di cui volete fare il backup.

$blacklist contiene la lista di files o cartelle che non volete copiare ovvero backuppare.
Avatar utente
trekfan1
Moderatore Globale
Moderatore Globale
Messaggi: 23523
Iscrizione: domenica 21 maggio 2006, 10:51
Desktop: Gnome
Distribuzione: Ubuntu 23.10 e 24.04 (dev)
Sesso: Maschile
Località: Formigine (MO) | Accecante Asceta

Re: [RISOLTO] Copiare tutto tranne...

Messaggio da trekfan1 »

Chiudo per necroposting, controlla le date prima di postare
Chiusa

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot] e 9 ospiti