Installazione · 4 min read · Nov 17, 2025
Installazione di un cluster Web, Email e MySQL Database su Debian 8.4 Jessie con ISPConfig 3.1 - Pagina 4
** 7 Installa Unison
Successivamente installiamo Unison. Unison è utilizzato per sincronizzare la directory /var/www tra server1 e server2.
Installa unison su server1 e server2 con
apt-get install unisonOra installiamo un file di configurazione unison su server1:
Crea un nuovo file /root/.unison/web:
mkdir /root/.unison
vi /root/.unison/web.prf… e aggiungi il seguente contenuto:
# Radici della sincronizzazione
root = /var/www
root = ssh://192.168.0.106//var/www
# Percorsi da sincronizzare
#path = www
#path = vmail
# Alcuni regex che specificano nomi e percorsi da ignorare
#ignore = Path stats ## ignora /var/www/stats
#ignore = Path stats/* ## ignora /var/www/stats/*
#ignore = Path */stats ## ignora /var/www/somedir/stats, ma non /var/www/a/b/c/stats
#ignore = Name *stats ## ignora tutti i file/directory che terminano con "stats"
#ignore = Name stats* ## ignora tutti i file/directory che iniziano con "stats"
#ignore = Name *.tmp ## ignora tutti i file con estensione .tmp
ignore = Name sess_*
ignore = Name *access.log*
ignore = Name error.log
ignore = Name webalizer.conf
# Quando impostato su true, questo flag fa sì che l'interfaccia utente salti
# la richiesta di conferme su modifiche non conflittuali. (Più
# precisamente, quando l'interfaccia utente ha finito di impostare la
# direzione di propagazione per una voce e sta per passare alla
# successiva, salterà tutte le voci non conflittuali e andrà
# direttamente al prossimo conflitto.)
auto=true
# Quando questo è impostato su true, l'interfaccia utente non farà
# domande. Le modifiche non conflittuali saranno propagate;
# i conflitti saranno ignorati.
batch=true
# !Quando questo è impostato su true, Unison richiederà una conferma extra
# se sembra che l'intera replica sia stata
# eliminata, prima di propagare la modifica. Se il flag batch è
# impostato, la sincronizzazione sarà interrotta. Quando viene utilizzata la
# preferenza del percorso, la stessa conferma sarà richiesta per
# i percorsi di primo livello. (Al momento, questo flag influisce solo su
# l'interfaccia utente testuale.) Vedi anche la preferenza mountpoint.
confirmbigdel=true
# Quando questa preferenza è impostata su true, Unison utilizzerà il
# tempo di modifica e la lunghezza di un file come un `numero inode
# pseudo' quando scansiona le repliche per aggiornamenti, invece di leggere
# il contenuto completo di ogni file. Sotto Windows, questo può causare
# a Unison di non propagare un aggiornamento se il tempo di modifica
# e la lunghezza del file non sono stati modificati dall'aggiornamento.
# Tuttavia, Unison non sovrascriverà mai tale aggiornamento con una
# modifica dall'altra replica, poiché esegue sempre un controllo sicuro
# per gli aggiornamenti appena prima di propagare una modifica. Pertanto, è
# ragionevole utilizzare questo switch sotto Windows la maggior parte delle volte
# e occasionalmente eseguire Unison una volta con fastcheck impostato su false,
# se sei preoccupato che Unison possa aver trascurato un aggiornamento.
# Il valore predefinito della preferenza è auto, che fa sì che
# Unison utilizzi controlli rapidi su repliche Unix (dove è sicuro)
# e controlli lenti su repliche Windows. Per compatibilità
# retroattiva, sì, no e predefinito possono essere utilizzati al posto di
# true, false e auto. Vedi la sezione "Controllo Veloce" per ulteriori
# informazioni.
fastcheck=true
# Quando questo flag è impostato su true, gli attributi di gruppo dei
# file vengono sincronizzati. Se i nomi dei gruppi o gli identificatori di gruppo
# vengono sincronizzati dipende dalla preferenza numerids.
group=true
# Quando questo flag è impostato su true, gli attributi del proprietario dei
# file vengono sincronizzati. Se i nomi dei proprietari o gli identificatori dei proprietari
# vengono sincronizzati dipende dalla preferenza
# extttnumerids.
owner=true
# Includere la preferenza -prefer root fa sì che Unison risolva sempre
# i conflitti a favore di root, piuttosto che chiedere
# indicazioni all'utente. (La sintassi di root è la stessa di quella per
# la preferenza root, più i valori speciali newer e older.)
# Questa preferenza è sovrascritta dalla preferenza preferpartial.
# Questa preferenza dovrebbe essere utilizzata solo se sei sicuro di sapere
# cosa stai facendo!
prefer=newer
# Quando questa preferenza è impostata su true, l'interfaccia utente
# testuale non stamperà nulla, tranne nel caso di errori.
# Impostare silent su true imposta automaticamente la preferenza batch
# su true.
silent=true
# Quando questo flag è impostato su true, i tempi di modifica dei file (ma non
# i tempi di modifica delle directory) vengono propagati.
times=false
# Quando questo flag è impostato, Unison registrerà tutte le modifiche ai filesystem su un file.
log=false
# Quando questo flag è impostato su true, gruppi e utenti vengono sincronizzati numericamente, piuttosto che per nome.
# Lo uid speciale 0 e il gruppo speciale 0 non vengono mai mappati tramite nomi utente/gruppo anche se questa
# preferenza non è impostata.
numericids=trueVogliamo automatizzare la sincronizzazione, quindi creiamo un piccolo script e creiamo un cronjob su server1:
mkdir /root/scripts
vi /root/scripts/unison.she aggiungiamo il seguente contenuto:
#!/bin/sh
lockdir=/tmp
UNISON=/usr/bin/unison
LOGGER=/usr/bin/logger
if [ ! -f /$lockdir/unison ]; then
touch $lockdir/unison
$UNISON -testserver web
rc=$?
if [[ $rc != 0 ]] ; then
echo "errore"
$LOGGER -d -t unison "web - errore di connessione remota"
else
$UNISON web
fi
rm $lockdir/unison
else
$LOGGER -d -t unison "unison già in esecuzione"
firendi lo script eseguibile:
chmod 700 /root/scripts/unison.shE esegui la prima sincronizzazione. Per ottenere un output durante la sincronizzazione imposta silent = false in /root/.unsion/web.prf. Successivamente, avvia unison:
/root/scripts/unison.shInfine, creiamo il cronjob:
crontab -e# unison
* * * * * /root/scripts/unison.sh > /dev/nullRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.