Changes

From SME Server
Jump to navigationJump to search
m
Line 6: Line 6:     
{{#smeversion: smeserver-BackupPC }}
 
{{#smeversion: smeserver-BackupPC }}
{{#smeversion: smeserver-BackupPC4 }}
  −
{{#smeversion: BackupPC }}
  −
{{#smeversion: BackupPC4 }}
      
===Description===
 
===Description===
Line 23: Line 20:  
===Features===
 
===Features===
   −
A clever pooling scheme minimizes disk storage and disk I/O. Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.
+
*A clever pooling scheme minimizes disk storage and disk I/O. Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.
 
+
*One example of disk use: 95 laptops with each full backup averaging 3.6GB each, and each incremental averaging about 0.3GB. Storing three weekly full backups and six incremental backups per laptop is around 1200GB of raw data, but because of pooling and compression only 150GB is needed.
One example of disk use: 95 laptops with each full backup averaging 3.6GB each, and each incremental averaging about 0.3GB. Storing three weekly full backups and six incremental backups per laptop is around 1200GB of raw data, but because of pooling and compression only 150GB is needed.
+
*Optional compression support further reducing disk storage. Since only new files (not already pooled) need to be compressed, there is only a modest impact on CPU time.
 
+
*No client-side software is needed. The standard smb protocol is used to extract backup data on Windows clients. On linux clients, tar over ssh/rsh/nfs is used to backup the data. With version 2.0.0, rsync is also supported on any client that has rsync or rysncd.
Optional compression support further reducing disk storage. Since only new files (not already pooled) need to be compressed, there is only a modest impact on CPU time.
+
*A powerful web (http/cgi) user interface allows administrators to view log files, configuration, current status and allows users to initiate and cancel backups and browse and restore files from backups.
 
+
*A full set of restore options is supported, including direct restore (via smbclient, tar, or rsync/rsyncd) or downloading a zip or tar file.
No client-side software is needed. The standard smb protocol is used to extract backup data on Windows clients. On linux clients, tar over ssh/rsh/nfs is used to backup the data. With version 2.0.0, rsync is also supported on any client that has rsync or rysncd.
+
*Supports mobile environments where laptops are only intermittently connected to the network and have dynamic IP addresses (DHCP).
 
+
*Flexible configuration parameters allow multiple backups to be performed in parallel, specification of which shares to backup, which directories to backup or not backup, various schedules for full and incremental backups, schedules for email reminders to users and so on. Configuration parameters can be set system-wide or also on a per-PC basis.
A powerful web (http/cgi) user interface allows administrators to view log files, configuration, current status and allows users to initiate and cancel backups and browse and restore files from backups.
+
*Users are sent periodic email reminders if their PC has not recently been backed up. Email content, timing and policies are configurable.
 
+
*Tested on Linux, Freenix and Solaris hosts, and Linux, Windows 95, Windows 98, Windows 2000, Windows XP, and Windows Vista clients.
A full set of restore options is supported, including direct restore (via smbclient, tar, or rsync/rsyncd) or downloading a zip or tar file.
+
*Detailed documentation.
 
+
*Open Source, hosted by SourceForge and freely available under GPL.
Supports mobile environments where laptops are only intermittently connected to the network and have dynamic IP addresses (DHCP).
+
*Requirements: SME Server 7.x, 8.x, 9.x or 10.x.
 
+
*A dedicated volume is recommended (this can be a simple disk or a RAID array).
Flexible configuration parameters allow multiple backups to be performed in parallel, specification of which shares to backup, which directories to backup or not backup, various schedules for full and incremental backups, schedules for email reminders to users and so on. Configuration parameters can be set system-wide or also on a per-PC basis.
  −
 
  −
Users are sent periodic email reminders if their PC has not recently been backed up. Email content, timing and policies are configurable.
  −
 
  −
Tested on Linux, Freenix and Solaris hosts, and Linux, Windows 95, Windows 98, Windows 2000, Windows XP, and Windows Vista clients.
  −
 
  −
Detailed documentation.
  −
 
  −
Open Source hosted by SourceForge and freely available under GPL.
  −
 
  −
===Requirements===
  −
 
  −
*SME Server 7.x, 8.x, 9.x or 10.x.
  −
*A dedicated volume is recommended (can be a simple disk or a RAID array)
      
===Installation===
 
===Installation===
Line 58: Line 41:     
This part is optional but highly recommended. Backups should always be on a separate volume.
 
This part is optional but highly recommended. Backups should always be on a separate volume.
First, prepare your hard drive for ext3 fs (you can use any fs which support hardlinks, I always use ext3 as it's very reliable)
+
 
 +
First, prepare your hard drive for ext3 fs (you can use any fs which support hardlinks, I always use ext3 as it's very reliable).
 +
 
 
In this example, I use a simple partition /dev/sdb1, it could also be a RAID array (/dev/md3) or a LVM logical volume (or a combination of RAID and lvm).
 
In this example, I use a simple partition /dev/sdb1, it could also be a RAID array (/dev/md3) or a LVM logical volume (or a combination of RAID and lvm).
By the way, if you know how to manage LVM, its usage is also recommended as it will be easier to manage backups data later.
+
 
 +
(By the way, if you know how to manage LVM, its usage is also recommended as it will be easier to manage backup data later. XFS also should facilitate making replicas or backups of the BackupPC data, which is otherwise difficult.)
      −
Note: releases of Koozali SME Server from version 10 on use XFS as the default filesystem. You can use XFS or ext4 on a secondary filesystem as preferred: ext3 is not directly available and also has rather low size limits nowadays.
+
Note: releases of Koozali SME Server from version 10 on use XFS as the default filesystem. On version 10 you can use XFS or ext4 on a secondary filesystem as preferred: ext3 has rather low size limits given disk sizes nowadays.
 +
 
 
  mkfs.ext3 -L BACKUPPC -m 1 /dev/sdb1
 
  mkfs.ext3 -L BACKUPPC -m 1 /dev/sdb1
 +
mkfs.ext4 -L BACKUPPC -m 1 /dev/sdb1
 +
mkfs.xfs  -L BACKUPPC /dev/sdb1
    +
( -m 1 sets the percentage of reserved blocks on ext filesystems: XFS autoconfigures itself for Linux software RAID volumes.)
   −
Now, we need to create the directory
+
Now, we need to create the directory:
    
  mkdir -p /var/lib/BackupPC
 
  mkdir -p /var/lib/BackupPC
Line 73: Line 63:  
Add the mount point in fstab. Just add something like:
 
Add the mount point in fstab. Just add something like:
   −
  /dev/sdb1    /var/lib/BackupPC      ext3   noatime 0 0
+
  /dev/sdb1    /var/lib/BackupPC      ext4   noatime   0 0
   −
And check everything is ok
+
or
 +
 
 +
/dev/sdb1    /var/lib/BackupPC      xfs    defaults  0 0
 +
 
 +
And check everything is ok:
    
  mount -a
 
  mount -a
 
  mount | grep BackupPC
 
  mount | grep BackupPC
  /dev/sdb1 on /var/lib/BackupPC type ext3 (rw,noatime)
+
  /dev/sdb1 on /var/lib/BackupPC type ext4 (rw,noatime)
    
*create some symlinks
 
*create some symlinks
Line 88: Line 82:  
  ln -s /var/lib/BackupPC/etc /etc/BackupPC
 
  ln -s /var/lib/BackupPC/etc /etc/BackupPC
 
  ln -s /var/lib/BackupPC/log /var/log/BackupPC
 
  ln -s /var/lib/BackupPC/log /var/log/BackupPC
 +
{{Warning box|this contrib configuration is part of the core backup since smeserver-backuppc-0.2-10. However the backup includes /etc/BackupPC but NOT the /var/lib/BackupPC content including the backup pool. This is your responsibility to handle this as most user will have this outside of the core hdd and remove and replace to new server is easy.
 +
Also is it yours to handle the redundancy of your backups.}}
    
====RPM Installation====
 
====RPM Installation====
<tabs container><tab name="Backuppc4 For SME 10">
+
<tabs container=""><tab name="Backuppc4 For SME 10">
yum install smeserver-extrarepositories-fws
+
  yum --enablerepo=smecontribs install smeserver-BackupPC
  yum --enablerepo=smecontribs,fws install smeserver-BackupPC
     −
#you will have following RPM pulled from fws : BackupPC-XS BackupPC4 rsync-bpc
+
You will have all RPMs pulled from CentOS or smecontribs including: BackupPC-XS BackupPC4 rsync-bpc
#all other from CentOS or smecontribs.
     −
*no need to updates configuration files following the installation
+
No need to update configuration files following the installation
    
Go to your server-manager.
 
Go to your server-manager.
Line 103: Line 97:     
</tab><tab name="Backuppc4 For SME 9">
 
</tab><tab name="Backuppc4 For SME 9">
Important you can not install both BackupPC (3) and BackupPC4 on the same server.
+
Important: you cannot install both BackupPC (3) and BackupPC4 on the same server!
   −
first the needed repo:
+
First prepare the needed repo:
 
  yum install smeserver-extrarepositories-fws smeserver-extrarepositories-epel -y
 
  yum install smeserver-extrarepositories-fws smeserver-extrarepositories-epel -y
 
  signal-event yum-modify
 
  signal-event yum-modify
then install it:
+
Then install it:
 
  yum --enablerepo=smecontribs,fws,epel install smeserver-BackupPC4
 
  yum --enablerepo=smecontribs,fws,epel install smeserver-BackupPC4
   −
*updates configuration files following the installation
+
*Update the configuration files following the installation
    
  signal-event backuppc-update
 
  signal-event backuppc-update
Line 120: Line 114:  
  yum --enablerepo=smecontribs install smeserver-BackupPC
 
  yum --enablerepo=smecontribs install smeserver-BackupPC
   −
*updates configuration files following the installation
+
*Update the configuration files following the installation
    
  signal-event backuppc-update
 
  signal-event backuppc-update
Line 132: Line 126:  
  cp /etc/BackupPC/config.pl /etc/BackupPC/config.pl.orig
 
  cp /etc/BackupPC/config.pl /etc/BackupPC/config.pl.orig
 
  cat /etc/BackupPC/config.pl.orig|sed 's/ -E -N -d 1/ -E -d 1 /g'>/etc/BackupPC/config.pl
 
  cat /etc/BackupPC/config.pl.orig|sed 's/ -E -N -d 1/ -E -d 1 /g'>/etc/BackupPC/config.pl
regarding upstream :http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=BackupPC_on_Fedora_Core_9
+
Regarding upstream :http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=BackupPC_on_Fedora_Core_9
 
http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=Troubleshooting
 
http://sourceforge.net/apps/mediawiki/backuppc/index.php?title=Troubleshooting
 
and also bugs : [[bugzilla:7016]] and [[bugzilla:7281]]
 
and also bugs : [[bugzilla:7016]] and [[bugzilla:7281]]
   −
*updates configuration files following the installation
+
*Update the configuration files following the installation
    
  signal-event backuppc-update
 
  signal-event backuppc-update
Line 150: Line 144:  
You should now be able to access the interface in the server-manager or directly on https://my.domain.tld/BackupPC
 
You should now be able to access the interface in the server-manager or directly on https://my.domain.tld/BackupPC
   −
You'll find three sample configuration:
+
You'll find three sample configurations:
   −
*smeserver-template is a sample config file to backup a SME Server.
+
*smeserver-template is a sample config file to backup an SME Server.
 
*localhost-template is a sample config file to backup the server itself.
 
*localhost-template is a sample config file to backup the server itself.
 
*windows-template is a sample to backup a windows host using cygwin+rsyncd
 
*windows-template is a sample to backup a windows host using cygwin+rsyncd
Line 162: Line 156:  
my_server=smeserver-template
 
my_server=smeserver-template
   −
When you submit, the configuration from smeserver-template will be copied to my_server. You then can edit my_server's config directly.
+
When you "Save", the configuration from smeserver-template will be copied to my_server. You can then edit my_server's config directly.
    
===Upgrade from smeserver-backuppc.fws-3.0-1===
 
===Upgrade from smeserver-backuppc.fws-3.0-1===
Line 191: Line 185:       −
===upgrade from BackupPC (3) to BackupPC4 rpms (SME 9.X)===
+
===Upgrade from BackupPC (3) to BackupPC4 rpms (SME 9.X)===
 
TODO.
 
TODO.
 
You will mostly have some debugging to do regarding the bug {{Bugzilla:10514}}
 
You will mostly have some debugging to do regarding the bug {{Bugzilla:10514}}
Line 203: Line 197:  
===DB properties===
 
===DB properties===
   −
there's only two properties you can change:
+
 
 +
There's only two properties you can change:
    
*'''status''': (enabled|disabled) Do you want the service to start automatically when the server boot ?
 
*'''status''': (enabled|disabled) Do you want the service to start automatically when the server boot ?
 
*'''examples''': (enabled|disabled) Do you want the sample configuration files to be added again if they are removed ?
 
*'''examples''': (enabled|disabled) Do you want the sample configuration files to be added again if they are removed ?
*'''sudo''': a list of commands backuppc will be able to run as root using sudo. The default is "/usr/bin/rsync,/bin/gtar"
+
*'''sudo''': A list of commands backuppc will be able to run as root using sudo. The default is "/usr/bin/rsync,/bin/gtar"
   −
When you have configured this, you should run
+
When you have configured this, you should run:
 
  signal-event backuppc-update
 
  signal-event backuppc-update
   Line 216: Line 211:  
And close the file. If visudo detects an error, it'll tell you. }}
 
And close the file. If visudo detects an error, it'll tell you. }}
   −
as an example if you want to be able to wake on lan :
+
As an example if you want to be able to "Wake on Lan" :
 
   config setprop backuppc sudo `config getprop backuppc sudo`,/sbin/ether-wake
 
   config setprop backuppc sudo `config getprop backuppc sudo`,/sbin/ether-wake
 
  signal-event backuppc-update
 
  signal-event backuppc-update
   −
then simply add a script to your prebackup command or your ping command like :
+
then simply add a script to your prebackup command or your ping command like :
      Line 263: Line 258:     
===Operation===
 
===Operation===
====Backup a smeserver====
+
====Backup an SMEServer====
To configure a SME Server client to be backed up using a configuration based on the provided smeserver-template, configure SSH from the backup server as follows:
+
To configure a Koozali SME Server client to be backed up using a configuration based on the provided smeserver-template, configure SSH from the backup server as follows:
    
  [root@backupserver ~]# su -s /bin/bash backuppc
 
  [root@backupserver ~]# su -s /bin/bash backuppc
Line 278: Line 273:  
https://forums.contribs.org/index.php/topic,53586.0.html
 
https://forums.contribs.org/index.php/topic,53586.0.html
   −
====Restore or migrate a smeserver====
+
====Restore or migrate an SMEServer====
 
If you simply want to restore a few files or a whole directory you can simply use the web interface, and within a few clicks you are done, with your files restored directly in place, or to a downloadable file if you wish.
 
If you simply want to restore a few files or a whole directory you can simply use the web interface, and within a few clicks you are done, with your files restored directly in place, or to a downloadable file if you wish.
   Line 292: Line 287:  
  cd myrestore/
 
  cd myrestore/
   −
to include and restore everything that is outside of the usual backuped folder in SME:
+
To include and restore everything that is outside of the usual backuped folder in SME:
 
  /usr/share/BackupPC/bin/BackupPC_tarCreate  -h SERVERNAME -n -1 -s /  / > smeserver.tar
 
  /usr/share/BackupPC/bin/BackupPC_tarCreate  -h SERVERNAME -n -1 -s /  / > smeserver.tar
   −
the base backup in the SME Server console would be an equivalent to this :
+
The base backup in the SME Server console would be an equivalent to this :
 
   /usr/share/BackupPC/bin/BackupPC_tarCreate  -h SERVERNAME -n -1 -s  /    home/e-smith etc/e-smith/templates-custom etc/e-smith/templates-user-custom \
 
   /usr/share/BackupPC/bin/BackupPC_tarCreate  -h SERVERNAME -n -1 -s  /    home/e-smith etc/e-smith/templates-custom etc/e-smith/templates-user-custom \
 
  etc/ssh root etc/sudoers  etc/passwd  etc/shadow etc/group etc/gshadow etc/samba/secrets.tdb  etc/samba/smbpasswd > smeserver.tar
 
  etc/ssh root etc/sudoers  etc/passwd  etc/shadow etc/group etc/gshadow etc/samba/secrets.tdb  etc/samba/smbpasswd > smeserver.tar
      −
then you have just to copy this on a USB disk, or alternatively copy it in a virtual disk if your SME will be virtualized and can not plug any USB device
+
Then you have just to copy this on a USB disk, or alternatively copy it in a virtual disk if your SME will be virtualized and can not plug any USB device
 
  mkdir /mnt/MyDisk
 
  mkdir /mnt/MyDisk
 
  mount /dev/disk/by-label/MyDisk /mnt/MyDisk
 
  mount /dev/disk/by-label/MyDisk /mnt/MyDisk
Line 310: Line 305:  
#plug your drive when you see the screen asking for restoration
 
#plug your drive when you see the screen asking for restoration
   −
and you are done.
+
and you are done.
    
====Backup a Linux host through rsync====
 
====Backup a Linux host through rsync====
Line 381: Line 376:  
  sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg BackupPC_nightly run
 
  sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg BackupPC_nightly run
   −
*Remove One backup of a client
+
*Remove one backup of a client
    
  cd /var/lib/BackupPC/pc/<client>/
 
  cd /var/lib/BackupPC/pc/<client>/
Line 403: Line 398:  
*When restarting the BackupPC service you may receive the error as indicated below :<br />
 
*When restarting the BackupPC service you may receive the error as indicated below :<br />
   −
<br />
   
  [root@backuppc ~]# service backuppc restart<br />
 
  [root@backuppc ~]# service backuppc restart<br />
   Line 413: Line 407:  
'''To remove the warning''' <br />
 
'''To remove the warning''' <br />
   −
you should create a custom template '''/etc/e-smith/templates-custom/etc/updatedb.conf/10conf''' (copy the default /etc/e-smith/templates/etc/updatedb.conf/10conf)<br />  
+
You should create a custom template '''/etc/e-smith/templates-custom/etc/updatedb.conf/10conf''' (copy the default /etc/e-smith/templates/etc/updatedb.conf/10conf)<br />  
 
  mkdir -p /etc/e-smith/templates-custom/etc/updatedb.conf/
 
  mkdir -p /etc/e-smith/templates-custom/etc/updatedb.conf/
 
  cp /etc/e-smith/templates/etc/updatedb.conf/10conf /etc/e-smith/templates-custom/etc/updatedb.conf/
 
  cp /etc/e-smith/templates/etc/updatedb.conf/10conf /etc/e-smith/templates-custom/etc/updatedb.conf/
   −
add the directory /var/lib/BackupPC to the PRUNEPATHS list, then  
+
Add the directory /var/lib/BackupPC to the PRUNEPATHS list, then:
 
  expand-template /etc/updatedb.conf
 
  expand-template /etc/updatedb.conf
    
*“aborted by signal=PIPE”
 
*“aborted by signal=PIPE”
   −
Sometime the backup fails with this error, this error is related to the remote ssh service. You must set in the /etc/ssh/ssh_config of your remote host
+
 
 +
Sometimes the backup fails with this error, this error is related to the remote ssh service. You must set in the /etc/ssh/ssh_config of your remote host:
    
   ServerAliveInterval 120
 
   ServerAliveInterval 120
   −
then restart your ssh service
+
then restart your ssh service.
 +
 
   −
One other way could be to set in the setting of backupPC (RsyncClientCmd)the default value for all hosts
+
Another way could be to set in the setting of BackupPC (RsyncClientCmd) the default value for all hosts:
 
  $Conf{RsyncClientCmd} = '$sshPath -o ServerAliveInterval=120 -q -x -l root $host $rsyncPath $argList+';
 
  $Conf{RsyncClientCmd} = '$sshPath -o ServerAliveInterval=120 -q -x -l root $host $rsyncPath $argList+';
   −
*trying backing up a SME Server you might encounter error or timeout on ssh, this is because of the AutoBlock function on sshd
+
*trying to back up a SME Server you might encounter an error or timeout on ssh, this is because of the AutoBlock function on sshd.
   −
FOR a SME10
+
 
 +
For an SME10:
 
  config setprop sshd AllowHost backuppcIP/255.255.255
 
  config setprop sshd AllowHost backuppcIP/255.255.255
 
  signal-event remoteaccess-update
 
  signal-event remoteaccess-update
   −
Before SME10:
+
Prior to SME10:
 
  config setprop sshd AutoBlock disabled
 
  config setprop sshd AutoBlock disabled
 
  signal-event remoteaccess-update
 
  signal-event remoteaccess-update
{{Tip box|if you disabled Autoblock, install denyhosts or fail2ban not to fall security.}}
+
{{Tip box|if you disabled Autoblock, install denyhosts or fail2ban so as not to reduce your level of security.}}
   −
*Since SME10 my old configuration for backupin my local server fails. You need to edit your configuration. You have two choices : use ssh for rsync which is kind of not the best approach for localhost , or you can edit your config to change this
+
*Since SME10 my old configuration for backup in my local server fails!
 +
*You need to edit your configuration. You have two choices : use ssh for rsync which is not ideal for localhost, or you can edit your config changing this:
    
  Conf{RsyncSshArgs} = ['-e', '$sshPath -l root']
 
  Conf{RsyncSshArgs} = ['-e', '$sshPath -l root']
to this  
+
to this:
 
  $Conf{RsyncSshArgs} = ['-e', '/usr/bin/sudo -p']
 
  $Conf{RsyncSshArgs} = ['-e', '/usr/bin/sudo -p']
   −
You can also do that using the GUI in edit configuration / XFER search for RsyncSshArgs. New installation have the default template already modified.
+
You can also do that using the GUI in edit configuration / XFER; search for "RsyncSshArgs". New installations have the default template already modified.
    +
<br />
 
===Uninstall===
 
===Uninstall===
 
  yum remove smeserver-BackupPC BackupPC
 
  yum remove smeserver-BackupPC BackupPC
3,054

edits

Navigation menu