Table of Contents

BackupPC

BackupPC is a high-performance, enterprise-grade system for backing up Linux, WinXX and MacOSX PCs and laptops to a server's disk. BackupPC is highly configurable and easy to install and maintain. See http://backuppc.sourceforge.net/

I'm not the first author, it is an adaptation to nethserver of a smeserver contribs of Daniel Berteaud.

first you have to install my repository, see how to do it

Then you can proceed to the nethserver-BackupPC installation.

yum install nethserver-BackupPC --enablerepo=stephdl

Documentation

Documentations are here : http://backuppc.sourceforge.net/faq/BackupPC.html

Usage

Once installed, the admin cgi user is 'admin' (think to set a password for ns6.6) but any users can perform a login however they can manage only the their backups(eg the admin user needs to set backups for this user). If you want to restrict the cgi interface only for the admin, then set the db 'CgiMultiUser' to disabled

see db commands

  # config show backuppc
  backuppc=service
      CgiMultiUser=enabled
      examples=enabled
      status=enabled
      sudo=/usr/bin/rsync,/bin/gtar,/bin/tar

if you want to modify something, then

  config setprop backuppc CgiMultiUser disabled
  signal-event nethserver-BackupPC-update

other DB available

  # config show httpd-bkpc 
  httpd-bkpc=service
      TCPPort=950
      access=none
      status=enabled

the service which run the other apache session can be controlled by

service  httpd-bkpc restart 

Available are stop, start, restart, status or with the ns way (enabled or disabled)

  config setprop httpd-bkpc status disabled 
  signal-event nethserver-BackupPC-update

Then go to https://yourIP/BackupPC or Dashboard→Applications→BackupPC

You will find two urls https://yourIP/BackupPC → the cgi interface https://yourIP/cygwin → a web page to help the cygwin-rsyncd settings for windows

RSA Key

Automatically, a rsa key is created in /var/lib/BackupPC/.ssh (4098 bits) you can use it to authenticate without password if you want to backup a linux host

first you need to export the public key

  su -s /bin/sh backuppc
  ssh-copy-id -i ~backuppc/.ssh/id_rsa.pub root@192.168.xxx.xxx

and test if all is ok

   ssh root@192.168.xxx.xxx

if it is ok you can log without password, then do 'exit' to go out of the shell

Of course you can use a lot of protocol (smb,ftp,rync,rsynd,tar,…)

Remove all backups of a client

then

  rm -rf /var/lib/BackupPC/pc/client/
  sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg BackupPC_nightly run

Remove One backup of a client

  cd /var/lib/BackupPC/pc/client/
  ls
  rm -fR backup_number
  sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg BackupPC_nightly run

Removing a single backup must be done with extreme care. You can safely remove the last backup for example, but if you remove a backup on which another one is based on, you can screw up your backups

remove statistic line

After this, you will see space reclaimed and you can check it with df, but you still need to remove statistic line, otherwise you will see it in your web interface. To do that:

   vi /var/lib/BackupPC/pc/client/backups
you can remove the line with the backup_number.

Relog to your web interface and voila! No more backup_number.

what it can be enhanced

some scripts to wake on lan computer before to backup them some scripts to backup windows computers with shadows copy

well a lot of more of course, i'm waiting your scripts and your ideas.

Debug

There is some logs if you need to debug

  ll /var/log/httpd-bkpc/
  total 8
  -rw-r--r--. 1 root root 694 May  4 06:03 bkpc_access_log
  -rw-r--r--. 1 root root 749 May  4 06:03 bkpc_error_log
  -rw-r--r--. 1 root root   0 Apr 19 05:09 httpd-bkpc-service_log

you can have a look also

  less /var/log/httpd/error_log
  less /var/log/messages

In order to debug you can launch the event and look if something goes wrong in log after you launch it

  signal-event nethserver-BackupPC-update

Issues

Please raise Issues on github

Source

sources are https://github.com/stephdl/nethserver-BackupPC/tree/ns6

Epel rpm

BackupPC
perl-File-RsyncP
perl-Net-FTP-AutoReconnect
perl-Net-FTP-RetrHandle