<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.rvmgroup.it/index.php?action=history&amp;feed=atom&amp;title=Backup_di_una_macchina_Linux_con_rsyncd</id>
	<title>Backup di una macchina Linux con rsyncd - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kb.rvmgroup.it/index.php?action=history&amp;feed=atom&amp;title=Backup_di_una_macchina_Linux_con_rsyncd"/>
	<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Backup_di_una_macchina_Linux_con_rsyncd&amp;action=history"/>
	<updated>2026-05-07T05:12:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Backup_di_una_macchina_Linux_con_rsyncd&amp;diff=6327&amp;oldid=prev</id>
		<title>Gabriele.vivinetto: New page: La macchina client si collega via rsync ad un server che esegue rsyncd, e viene backuppata usando degli hard link per risparmiare spazio. Vengono conservati gli ultimi 7 backup  ==Server==...</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Backup_di_una_macchina_Linux_con_rsyncd&amp;diff=6327&amp;oldid=prev"/>
		<updated>2009-07-25T22:27:21Z</updated>

		<summary type="html">&lt;p&gt;New page: La macchina client si collega via rsync ad un server che esegue rsyncd, e viene backuppata usando degli hard link per risparmiare spazio. Vengono conservati gli ultimi 7 backup  ==Server==...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;La macchina client si collega via rsync ad un server che esegue rsyncd, e viene backuppata usando degli hard link per risparmiare spazio.&lt;br /&gt;
Vengono conservati gli ultimi 7 backup&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
&lt;br /&gt;
*Configurare rsyncd:&lt;br /&gt;
 &lt;br /&gt;
 sudoedit /etc/rsyncd.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /ffp/etc/rsyncd.conf &lt;br /&gt;
log file = /mnt/HD_b2/backup/rsyncd.log&lt;br /&gt;
# percorso assoluto&lt;br /&gt;
&lt;br /&gt;
use chroot = true&lt;br /&gt;
# per sicurezza&lt;br /&gt;
&lt;br /&gt;
[sda1]&lt;br /&gt;
# Modulo per il primo disco&lt;br /&gt;
    uid = 0&lt;br /&gt;
    gid = 0&lt;br /&gt;
    # i files vengono trasferiti usando le credenziali di root&lt;br /&gt;
    path = /mnt/HD_b2/backup/sda1&lt;br /&gt;
    comment = Backup Juno sda1&lt;br /&gt;
    read only = false&lt;br /&gt;
    numeric ids = yes&lt;br /&gt;
    # usa gli id numerici per le permission, per evitare problemi di restore&lt;br /&gt;
    #fake super = yes&lt;br /&gt;
    # serve solo se rsyncd non è usato come root&lt;br /&gt;
    pre-xfer exec  = /mnt/HD_b2/backup/pretransfer &amp;gt; /mnt/HD_b2/backup/pretransfer.log&lt;br /&gt;
    # script da eseguire prima dell&amp;#039;inizio del trasferimento&lt;br /&gt;
    post-xfer exec = /mnt/HD_b2/backup/posttransfer &amp;gt; /mnt/HD_b2/backup/posttransfer.log&lt;br /&gt;
    # script da eseguire dopo la fine del trasferimento&lt;br /&gt;
&lt;br /&gt;
[sda4]&lt;br /&gt;
    uid = 0&lt;br /&gt;
    gid = 0&lt;br /&gt;
    path = /mnt/HD_b2/backup/sda4&lt;br /&gt;
    comment = Backup Juno sda4&lt;br /&gt;
    read only = false&lt;br /&gt;
    numeric ids = yes&lt;br /&gt;
    #fake super = yes&lt;br /&gt;
    pre-xfer exec  = /mnt/HD_b2/backup/pretransfer &amp;gt; /mnt/HD_b2/backup/pretransfer.log&lt;br /&gt;
    post-xfer exec = /mnt/HD_b2/backup/posttransfer &amp;gt; /mnt/HD_b2/backup/posttransfer.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Questi sono gli script pre e post:&lt;br /&gt;
&lt;br /&gt;
 sudoedit /mnt/HD_b2/backup/pretransfer&lt;br /&gt;
&lt;br /&gt;
 #nulla&lt;br /&gt;
&lt;br /&gt;
 sudoedit /mnt/HD_b2/backup/posttransfer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /mnt/HD_b2/backup/posttransfer&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# SHOWS all RSYNC variables&lt;br /&gt;
set | grep RSYNC_&lt;br /&gt;
&lt;br /&gt;
#RSYNC_EXIT_STATUS=12&lt;br /&gt;
#RSYNC_HOST_ADDR=192.168.250.88&lt;br /&gt;
#RSYNC_HOST_NAME=juno.diesis.priv&lt;br /&gt;
#RSYNC_MODULE_NAME=sda1&lt;br /&gt;
#RSYNC_MODULE_PATH=/mnt/HD_b2/backup/sda1&lt;br /&gt;
#RSYNC_PID=7924&lt;br /&gt;
#RSYNC_RAW_STATUS=3072&lt;br /&gt;
#RSYNC_USER_NAME=&lt;br /&gt;
&lt;br /&gt;
dstpath=$RSYNC_MODULE_PATH&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;RSYNC_EXIT_STATUS&amp;quot; = &amp;quot;0&amp;quot;  ]&lt;br /&gt;
then&lt;br /&gt;
        echo Linking $dstpath ...&lt;br /&gt;
        LAST_LINE=$(/bin/ls $dstpath -1 | grep &amp;#039;2[0-9][0-9][0-9][0-1][0-9][0-3][0-9]*&amp;#039; | sort | tail -n1)&lt;br /&gt;
        echo LAST_LINE=$LAST_LINE&lt;br /&gt;
        echo cd $dstpath&lt;br /&gt;
        echo rm -f current&lt;br /&gt;
        echo ln -s $LAST_LINE current&lt;br /&gt;
&lt;br /&gt;
        echo Cleaning $dstpath ...&lt;br /&gt;
        TOTAL_LINES=$(/bin/ls $dstpath -1 | grep &amp;#039;2[0-9][0-9][0-9][0-1][0-9][0-3][0-9]*&amp;#039; | sort | wc -l)&lt;br /&gt;
        LINES_2DELETE=$(($TOTAL_LINES-7))&lt;br /&gt;
        DELETE=$(/bin/ls $dstpath -1 | grep &amp;#039;2[0-9][0-9][0-9][0-1][0-9][0-3][0-9]*&amp;#039; | sort | head -n $LINES_2DELETE)&lt;br /&gt;
        echo TOTAL_LINES=$TOTAL_LINES&lt;br /&gt;
        echo LINES_2DELETE=$LINES_2DELETE&lt;br /&gt;
        echo DELETE=$DELETE&lt;br /&gt;
        if [ -z &amp;quot;$DELETE&amp;quot; ]&lt;br /&gt;
        then&lt;br /&gt;
                for DIR in $DELETE&lt;br /&gt;
                do&lt;br /&gt;
                        echo Deleting  $dstpath/$DIR ...&lt;br /&gt;
                        echo rm -rf $dstpath/$DIR&lt;br /&gt;
                done&lt;br /&gt;
        else&lt;br /&gt;
                echo Nothing to clean.&lt;br /&gt;
        fi&lt;br /&gt;
else&lt;br /&gt;
        echo Last sync was unsuccesfull: not linking and not deleting.&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Client==&lt;br /&gt;
&lt;br /&gt;
Creare lo script:&lt;br /&gt;
 sudoedit /home/diesis/local/bin/timemachine-sda1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!bin/bash&lt;br /&gt;
if [ $(id -u) != &amp;quot;0&amp;quot; ]&lt;br /&gt;
then &lt;br /&gt;
	echo You must run &lt;br /&gt;
	echo sudo $(basename $0)&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
cd /&lt;br /&gt;
&lt;br /&gt;
srcpath=.&lt;br /&gt;
dstpath=quantum::sda1&lt;br /&gt;
date=`date &amp;quot;+%Y%m%d_%H%M%S&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
rsync \&lt;br /&gt;
	-aivxP \&lt;br /&gt;
	--link-dest=../current \&lt;br /&gt;
	$srcpath \&lt;br /&gt;
	$dstpath/$date 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notare che il --link-dest è relativo al percorso effettivo di backup&lt;br /&gt;
&lt;br /&gt;
Ora si lancia il backup:&lt;br /&gt;
 sudo /home/diesis/local/bin/timemachine-sda1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Riferimenti==&lt;br /&gt;
* [http://markmail.org/message/plwfvbrdlwzrwp3u#query:link-dest%20daemon+page:1+mid:e7dgmmpg7qw6xd37+state:results --link-dest and file/dir transfer to remote rsync daemon - Alexander Grahn - org.samba.lists.rsync - MarkMail]&lt;br /&gt;
*[http://www.webos-internals.org/wiki/Backing_Up_via_Rsync Backing Up via Rsync - WebOS Internals]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
</feed>