Pagina 2 di 2

Re: Copiare tutto tranne...

Inviato: mercoledì 11 aprile 2007, 21:08
da micettonero
Ecco potrei fartelo in Java, però è da tanto che non lo uso, dovrai aspettare a domani...

Re: Copiare tutto tranne...

Inviato: mercoledì 11 aprile 2007, 21:29
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!

Re: Copiare tutto tranne...

Inviato: mercoledì 11 aprile 2007, 23:42
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)

Re: [RISOLTO] Copiare tutto tranne...

Inviato: giovedì 12 aprile 2007, 10:11
da simo_magic
fai vedere come hai fatto però: cosi chei ha il tuo stesso problema può risolvere pure lui  ;)

Re: [RISOLTO] Copiare tutto tranne...

Inviato: giovedì 12 aprile 2007, 16:42
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 ;)

Re: [RISOLTO] Copiare tutto tranne...

Inviato: domenica 13 dicembre 2020, 0:47
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.

Re: [RISOLTO] Copiare tutto tranne...

Inviato: domenica 13 dicembre 2020, 6:52
da trekfan1
Chiudo per necroposting, controlla le date prima di postare