个人工具
119.28.94.63
该IP地址的讨论
登录
查看“UbuntuHelp:BackupPC”的源代码 - Ubuntu中文
UbuntuHelp
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“UbuntuHelp:BackupPC”的源代码
来自Ubuntu中文
←
UbuntuHelp:BackupPC
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{From|https://help.ubuntu.com/community/BackupPC}} {{Languages|UbuntuHelp:BackupPC}} == Introduction == [[UbuntuHelp:BackupPC|BackupPC]] is a free backup software suite with a web-based frontend. The cross-platform server will run on any Linux, Solaris, or UNIX based server. No client is necessary, as the server is itself a client for several protocols that are handled by other services native to the client OS. === Backup Methods === Three methods for getting backup data from a client are: * smb (Server Message Block) * tar (tape archiver) * rsync (file transfer program for Unix systems) {|border="1" cellspacing="0" |||WinXX||Linux/Unix/MacOSX |- |smb||*|| |- |rsync||* 1.||* |- |tar|| ||* |} <ol><li>rsync/cygwin software needs to be installed on client machine</li></ol> The easiest method for backing up windows machines is the "smb" protocol. See the [[UbuntuHelp:BackupPC|BackupPC]] manual for the full pro's and con's === Configuration === To configure ''[[UbuntuHelp:BackupPC|BackupPC]]'' there are 3 options: * Web browser (Easier) * Text editor (Power user) * Combination of both (Balanced) Note: The [[UbuntuHelp:BackupPC|BackupPC]] user manual is heavily "Text" based. === The [[UbuntuHelp:BackupPC|BackupPC]] Configuration Files === [[UbuntuHelp:BackupPC|BackupPC]]'s configuration files are in the `/etc/backuppc directory`. The most important ones are `/etc/backuppc/config.pl` and `/etc/backuppc/hosts`. You should open them now to become familiar with all configuration options. Both files are heavily commented, so by reading them you should understand what they do. For example, in `/etc/backuppc/config.pl` you can define how often and when [[UbuntuHelp:BackupPC|BackupPC]] wakes up to back up the clients, when/how often it does full or incremental backups, how many log files it should keep, etc. <pre><nowiki> nano -w /etc/backuppc/config.pl </nowiki></pre> <pre><nowiki> nano -w /etc/backuppc/hosts </nowiki></pre> == Installation == <pre><nowiki> sudo apt-get install backuppc </nowiki></pre> === Ubuntu 7.04 (feisty fawn) === backuppc v2 and v3.0 via apt (v3.0 is in backports) === Ubuntu 7.10 (gutsy gibbon) === backuppc v3.0 via apt === Ubuntu 8.04 (hardy heron) === backuppc v3.0 via apt === Manual Upgrade === Because of the lag in repository updates it has been suggested to do a manual up date from the `backupPC` authors http://backuppc.sourceforge.net/ {|border="1" cellspacing="0" |!!!!!Note: This manual upgrade dosn't work but i have left in just in case someone can get it to work!!!!! |} First we need to stop `backuppc` <pre><nowiki> /etc/init.d/backuppc stop </nowiki></pre> Download and configure `backuppb` <pre><nowiki> wget http://downloads.sourceforge.net/backuppc/BackupPC-3.1.0.tar.gz tar -xvzf BackupPC-3.1.0.tar.gz cd BackupPC-3.1.0 perl configure.pl </nowiki></pre> Answer the following questions <pre><nowiki> --> Full path to existing main config.pl []? </nowiki></pre> We need to change this path to `/etc/backuppc/config.pl` {|border="1" cellspacing="0" |Note: The only change from the default is upper and lower case letters, but this is important! |} For the rest of the settings use the default settings <pre><nowiki> --> Are these paths correct? [y]? --> BackupPC will run on host [ubuntu]? --> BackupPC should run as user [backuppc]? --> Install directory (full path) [/usr/local/BackupPC]? --> Data directory (full path) [/data/BackupPC]? --> Compression level [3]? --> CGI bin directory (full path) []? --> Do you want to continue? [y]? </nowiki></pre> For the rest of the settings use the default settings Reset Password <pre><nowiki> htpasswd /etc/backuppc/htpasswd backuppc </nowiki></pre> Web Login http://server_address/backuppc/index.cgi <pre><nowiki> User Name: backuppc Password : `new password from above` </nowiki></pre> == Add Hosts == To add a client (Hoist) to [[UbuntuHelp:BackupPC|BackupPC]], we must add it to `/etc/backuppc/hosts`. That file has the following format: <pre><nowiki> host dhcp user moreUsers hostname1 0 user1 anotheruser,athirduser hostname2 1 user2 stillanotheruser </nowiki></pre> The first column contains the hostname/NetBIOS name of the client (e.g. `hostname1`), the second column whether the client is configured through DHCP, the third column contains a user that is allowed to log into the [[UbuntuHelp:BackupPC|BackupPC]] web interface to manage that backup client, and the fourth (optional) column contains additional users that can do the same. === Browse Network === '''smbtree''' is a smb browser program in text mode. It is similar to the "Network Neighborhood" found on Windows computers. It prints a tree with all the known domains, the servers in those domains and the shares on the servers. <pre><nowiki> smbtree -b Password: </nowiki></pre> Don't enter a password, hit enter <pre><nowiki> WORKGROUP \\BACKUP backup server (Samba, Ubuntu) \\BACKUP\IPC$ IPC Service (backup server (Samba, Ubuntu)) \\BACKUP\print$ Printer Drivers \\AMD6000 cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine AMD6000. Error was NT_STATUS_ACCESS_DENIED </nowiki></pre> Your network will differ, '''BACKUP''' is the name of our '''[[UbuntuHelp:BackupPC|BackupPC]] server''', '''AMD6000''' is the name of our Windows Vista PC we want to back up. Although `AMD6000` is configured through DHCP, dhcp should only be set to 1 if the following tests fail: <pre><nowiki> nmblookup AMD6000 </nowiki></pre> If the test is successful, it should display `AMD6000` current IP address: <pre><nowiki> querying amd6000 on 192.168.0.255 192.168.0.50 amd6000<00> </nowiki></pre> Now that you know `AMD6000` current IP address, run the same test in the other direction: <pre><nowiki> nmblookup -A 192.168.0.50 </nowiki></pre> If successful, the output should look like this: <pre><nowiki> Looking up status of 192.168.0.50 AMD6000 <00> - B <ACTIVE> WORKGROUP <00> - <GROUP> B <ACTIVE> AMD6000 <20> - B <ACTIVE> WORKGROUP <1e> - <GROUP> B <ACTIVE> MAC Address = 00-1A-92-B0-4C-63 </nowiki></pre> Both tests were successful, so we can set `dhcp` to 0, and we put `AMD6000 0 user` into `/etc/backuppc/hosts` and comment out the `localhost` line: <pre><nowiki> nano -w /etc/backuppc/hosts </nowiki></pre> <pre><nowiki> [...] AMD6000 0 user #localhost 0 backuppc </nowiki></pre> If the tests had not been successful, we would have put `AMD6000 1 user` into `/etc/backuppc/hosts` instead, and in addition to that we would have had to change the variable `$Conf{DHCPAddressRanges}` in `/etc/backuppc/config.pl`. We have added the user user to the hosts file. That's the system user whom [[UbuntuHelp:BackupPC|BackupPC]] will send email reports regarding `AMD6000`, so we should create that user on the [[UbuntuHelp:BackupPC|BackupPC]] server now: <pre><nowiki> useradd -m user passwd user </nowiki></pre> In addition to that we must create a password for ''user'' for the [[UbuntuHelp:BackupPC|BackupPC]] web interface: <pre><nowiki> htpasswd /etc/backuppc/htpasswd user </nowiki></pre> (If you like you can now open a second browser and log in as `user` on `http://192.168.0.51/backuppc/`.) == Backup Linux Client (rsync) == Now we must edit /etc/backuppc/config.pl. The backup method for AMD6000 will be '''rsync''', so we set $Conf{XferMethod} = 'rsync';. AMD6000 has just one (big) partition (/), so we set $Conf{RsyncShareName} == '/';. If you have multiple partitions to backup, you'd specify something like $Conf{RsyncShareName} == ['/', '/var', '/data', '/boot']; instead. rsync will be tunneled through SSH (port 22). SSH needs to know the hostname or IP address of the client. Unless you have a DNS server that resolves AMD6000 to its IP address, SSH will not be able to resolve the name AMD6000. Therefore we replace $host with $hostIP in $Conf{RsyncClientCmd} and $Conf{RsyncClientRestoreCmd}. <pre><nowiki> nano -w /etc/backuppc/config.pl </nowiki></pre> <pre><nowiki> [...] $Conf{XferMethod} = 'rsync'; $Conf{RsyncClientPath} = '/usr/bin/rsync'; $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+'; $Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+'; $Conf{RsyncShareName} = '/'; #$Conf{RsyncShareName} = ['/', '/var', '/data', '/boot']; [...] </nowiki></pre> (You might wonder now how we can specify options for multiple clients because the options for notebook will be different from those for AMD6000. It works like this: the options in /etc/backuppc/config.pl are global values that are valid for all clients unless they have their onw configuration file in /etc/backuppc, named after their hostname. So for notebook we will create /etc/backuppc/notebook.pl, and it will contain only the values that are different from the ones in /etc/backuppc/config.pl. In fact, we could have created /etc/backuppc/falko-desktop.pl for falko-desktop instead of modifying /etc/backuppc/config.pl.) === Enable settings === Next restart BackupPC: <pre><nowiki> /etc/init.d/backuppc restart </nowiki></pre> == Backup Windows Client (smb) == To make backups of Windows systems using smb, we must share the folder that we want to back up. In this case I want to backup the whole C: drive, so I right-click on it in the Windows Explorer and go to Sharing. As share name I specify C. Next, on server1.example.com, I add a line for notebook to /etc/backuppc/hosts (I do this as root). In this case I use ''user'' again as the user. If you use a different username than before, make sure you create it on the system and for the [[UbuntuHelp:BackupPC|BackupPC]] web interface, as shown in chapter 5. <pre><nowiki> vi /etc/backuppc/hosts </nowiki></pre> <pre><nowiki> [...] AMD6000 0 user notebook 0 user #localhost 0 backuppc </nowiki></pre> Then create the file /etc/backuppc/notebook.pl and add all options that are different from the ones in /etc/backuppc/config.pl. In this case we add $Conf{XferMethod} == 'smb';. Our share name is C, so we put $Conf{SmbShareName} == 'C'; into it as well as the username and password for the Windows share: <pre><nowiki> nano -w /etc/backuppc/notebook.pl </nowiki></pre> <pre><nowiki> $Conf{SmbShareName} = 'C'; $Conf{SmbShareUserName} = 'username'; $Conf{SmbSharePasswd} = 'password'; $Conf{XferMethod} = 'smb'; </nowiki></pre> === Enable Settings === Then restart BackupPC: <pre><nowiki> /etc/init.d/backuppc restart </nowiki></pre> Then reload the [[UbuntuHelp:BackupPC|BackupPC]] web interface again. You should now find notebook in the list of clients: You can start the first backup of notebook manually or wait until [[UbuntuHelp:BackupPC|BackupPC]] starts it: == Backup Linux Clients (tar) == [[UbuntuHelp:BackupPC|BackupPC]] is a great backup program for an Ubuntu server. However, backing up Ubuntu client machines doesn’t work “out of the box” due to Ubuntu’s lack of a root account. The following describes how to make [[UbuntuHelp:BackupPC|BackupPC]] work with Ubuntu's sudo implementation. By adding sudo to the TAR commands in /etc/backuppc/config.pl and adding backuppc to the sudoers list, you’re able to perform both backups and restores directly from the web-based interface. === Modify /etc/backuppc/config.pl === *Run “sudo gedit /etc/backuppc/config.pl” *Add sudo to the TAR <code><nowiki>Client</nowiki></code> and <code><nowiki>ClientRestore</nowiki></code> commands *Change <code><nowiki>$Conf{TarClientCmd} </nowiki></code>and <code><nowiki>$Conf{TarClientRestoreCmd} </nowiki></code>to read <pre><nowiki> $Conf{TarClientCmd} = ‘sudo $tarPath -c -v -f - -C $shareName’ . ‘ –totals’; </nowiki></pre> <pre><nowiki> $Conf{TarClientRestoreCmd} = ‘sudo $tarPath -x -p –numeric-owner –same-owner’ . ‘ -v -f - -C $shareName’; </nowiki></pre> * Also remove plus (+) from $incrDate in <code><nowiki>$Conf{TarIncrArgs} </nowiki></code> so it won't be double escaped (need to escape only once when running sudo): <pre><nowiki> $Conf{TarIncrArgs} = '--newer=$incrDate $fileList+'; </nowiki></pre> *Change <code><nowiki>$Conf{BackupFilesExclude} </nowiki></code>(these seem to all be temp files that you don’t really need to backup) to read <pre><nowiki> $Conf{BackupFilesExclude} = [’/proc’, ‘/dev’, ‘/tmp’, ‘/mnt’, ‘/media’, ‘/sys’, ‘/lost+found’, ‘/usr/src’, ‘/var/lib’, ‘/var/tmp’, ‘/var/cache’, ‘/var/spool’, ‘/var/run’, ‘/var/lock’, ‘/var/games’, ‘/home/*/.Trash’, ‘/home/*/.mozilla/*/*/Cache’, ‘/home/*/.mozilla/*/*/Cache.Trash’]; </nowiki></pre> === Add backuppc to the sudoers list === *Run “sudo visudo” *At the bottom of the file add <pre><nowiki> # Allow backuppc to run tar without a password backuppc ALL=NOPASSWD: /bin/tar </nowiki></pre> *If you are unfamiliar with vi editor: Scroll to the end of last line of the file, press a to start adding text, write magic lines mentioned above, hit esc, type ":w"+enter to save file, ":q" to quit (":q!" to quit without saving changes). == alternatives == For other ways of backing up some or all of your system, see [[UbuntuHelp:BackupYourSystem|BackupYourSystem]] . == References == * http://www.howtoforge.com/linux_backuppc * BackupPC: http://backuppc.sourceforge.net * [[UbuntuHelp:BackupPC|BackupPC]] Documentation: http://backuppc.sourceforge.net/faq/BackupPC.html == Authors == * falko ---- [[category:CategoryBackupRecovery]] [[category:UbuntuHelp]]
该页面使用的模板:
模板:From
(
查看源代码
)
模板:Languages
(
查看源代码
)(受保护)
模板:Languages/Lang
(
查看源代码
)(受保护)
返回至
UbuntuHelp:BackupPC
。