特殊:Badtitle/NS100:BackupPC:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Wikibot留言 | 贡献
无编辑摘要
 
(未显示2个用户的12个中间版本)
第1行: 第1行:
{{From|https://help.ubuntu.com/community/BackupPC}}
{{From|https://help.ubuntu.com/community/BackupPC}}
{{Languages|UbuntuHelp:BackupPC}}
{{Languages|UbuntuHelp:BackupPC}}
== 序言 ==
== Introduction ==
BackupPC是一个免费的备份软件与基于Web的前端。可跨平台运行于任何Linux , Solaris操作系统或Unix服务器。没有客户端不是必然的,作为服务器本身就是一个客户端的一些协议,是处理其他服务本地的客户端的操作系统。
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)
SMB (服务器消息块)
* rsync (file transfer program for Unix systems)
tar (磁带存档)
rsync (文件传输程序的Unix系统)
{|border="1" cellspacing="0"
{|border="1" cellspacing="0"
|||WinXX||Linux/Unix/MacOSX
|||WinXX||Linux/Unix/MacOSX
第19行: 第17行:
|tar|| ||*
|tar|| ||*
|}
|}
<ol><li>rsync / cygwin软件需要安装在客户端
<ol><li>rsync/cygwin software needs to be installed on client machine</li></ol>
 
备份windows系统最简单的方法就是“SMB”协议。详见BackupPC手册</li></ol>
=== 配置 ===
要配置BackupPC有3个选择:
  Web浏览器(最简单)
  文本编辑器(超级用户)
  两者结合(平衡)
 
注: BackupPC用户手册是最重要的“文本”的基础。
 
=== BackupPC的配置文件 ===
BackupPC的配置文件中的` / etc / backuppc directory` 。最重要的两个文件是` / etc / backuppc / config.pl `和` / etc / backuppc /hosts` 。您现在应该打开它们并且熟悉所有的配置选项。这两个文件有大量注释和评论,所以当你看到他们你也就应该明白他们能坐什么了。例如,在` / etc / backuppc / config.pl 你可以自定义BackupPC如何以及何时备份,完全备份或者是增量备份,有多少日志文件等。


The easiest method for backing up windows machines is the "smb" protocol. See the BackupPC manual for the full pro's and con's
=== Configuration ===
To configure ''BackupPC'' there are 3 options:
* Web browser (Easier)
* Text editor (Power user)
* Combination of both (Balanced)
Note: The BackupPC user manual is heavily "Text" based.
=== The BackupPC Configuration Files ===
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 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>
<pre><nowiki>
nano -w /etc/backuppc/config.pl
nano -w /etc/backuppc/config.pl
第39行: 第34行:
nano -w  /etc/backuppc/hosts
nano -w  /etc/backuppc/hosts
</nowiki></pre>
</nowiki></pre>
 
== Installation ==
== 安装 ==
<pre><nowiki>
<pre><nowiki>
sudo apt-get install backuppc
sudo apt-get install backuppc
</nowiki></pre>
</nowiki></pre>
 
== Add Hosts ==
== 添加主机 ==
To add a client (Host) to BackupPC, we must add it to `/etc/backuppc/hosts`. That file has the following format:
要给 BackupPC添加客户端 ,我们必须将其添加到 `/etc/backuppc/hosts`.该文件格式如下:
<pre><nowiki>
<pre><nowiki>
host        dhcp    user      moreUsers
host        dhcp    user      moreUsers
第52行: 第45行:
hostname2    1    user2    stillanotheruser
hostname2    1    user2    stillanotheruser
</nowiki></pre>
</nowiki></pre>
第一栏包含了主机名/ NetBIOS名称的客户端(例如` hostname1 ` ) ,第二栏是否客户端配置通过DHCP ,第三栏中会包含的用户可以登录到BackupPC web界面来管理备份客户端,第四栏(可选)包含更多的用户可以这样做。
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 BackupPC web interface to manage that backup client, and the fourth (optional) column contains additional users that can do the same.
===浏览网络 ===
=== Browse Network ===
smbtree是SMB浏览器程序中的文本模式。它类似于“网上邻居”上发现的Windows电脑。常用于股票服务器
'''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>
<pre><nowiki>
smbtree -b
smbtree -b
Password:
Password:
</nowiki></pre>
</nowiki></pre>
不输入密码,按enter键
Don't enter a password, hit enter
<pre><nowiki>
<pre><nowiki>
WORKGROUP
WORKGROUP
第68行: 第61行:
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine AMD6000.  Error was NT_STATUS_ACCESS_DENIED
cli_rpc_pipe_open: cli_nt_create failed on pipe \srvsvc to machine AMD6000.  Error was NT_STATUS_ACCESS_DENIED
</nowiki></pre>
</nowiki></pre>
您的网络会有所不同,备份的名字是我们BackupPC服务器, AMD6000的名字是我们的Windows Vista电脑,我们要备份。虽然` AMD6000 `是通过DHCP配置的,的DHCP只应设置为1 ,如果下面的测试失败:
Your network will differ, '''BACKUP''' is the name of our '''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>
<pre><nowiki>
nmblookup AMD6000
nmblookup AMD6000
第111行: 第105行:
</nowiki></pre>
</nowiki></pre>
(If you like you can now open a second browser and log in as `user` on `http://192.168.0.51/backuppc/`.)
(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) ==
== 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';.
Now we must edit /etc/backuppc/config.pl. The backup method for AMD6000 will be '''rsync''', so we set $Conf{XferMethod} = 'rsync';.
第166行: 第159行:
You can start the first backup of notebook manually or wait until BackupPC starts it:
You can start the first backup of notebook manually or wait until BackupPC starts it:
== Backup Linux Clients (tar) ==
== Backup Linux Clients (tar) ==
'''For some reason this does not work under Intreped/9.04, however the method described on http://www.howtoforge.com/linux_backuppc_p4 works fine! The page is complex and confusing, so you must be careful work out just which is your "client" and which is your "server"!'''
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 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.
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 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 ===
=== Modify /etc/backuppc/config.pl ===
第185行: 第179行:
*Change <code><nowiki>$Conf{BackupFilesExclude} </nowiki></code>(these seem to all be temp files that you don’t really need to backup) to read
*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>
<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’];
$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>
</nowiki></pre>
=== Add backuppc to the sudoers list ===
=== Add backuppc to the sudoers list ===

2010年5月19日 (三) 21:39的最新版本

{{#ifexist: :BackupPC/zh | | {{#ifexist: BackupPC/zh | | {{#ifeq: {{#titleparts:BackupPC|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:BackupPC|1|-1|}} | zh | | }}

Introduction

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)
WinXX Linux/Unix/MacOSX
smb *
rsync * 1. *
tar *
  1. rsync/cygwin software needs to be installed on client machine

The easiest method for backing up windows machines is the "smb" protocol. See the BackupPC manual for the full pro's and con's

Configuration

To configure BackupPC there are 3 options:

  • Web browser (Easier)
  • Text editor (Power user)
  • Combination of both (Balanced)

Note: The BackupPC user manual is heavily "Text" based.

The BackupPC Configuration Files

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 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.

nano -w /etc/backuppc/config.pl
nano -w  /etc/backuppc/hosts

Installation

sudo apt-get install backuppc

Add Hosts

To add a client (Host) to BackupPC, we must add it to `/etc/backuppc/hosts`. That file has the following format:

host        dhcp    user      moreUsers
hostname1     0     user1     anotheruser,athirduser
hostname2     1     user2     stillanotheruser

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 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.

smbtree -b
Password:

Don't enter a password, hit enter

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

Your network will differ, BACKUP is the name of our 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:

nmblookup AMD6000

If the test is successful, it should display `AMD6000` current IP address:

querying amd6000 on 192.168.0.255
192.168.0.50 amd6000<00>

Now that you know `AMD6000` current IP address, run the same test in the other direction:

nmblookup -A 192.168.0.50

If successful, the output should look like this:

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

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:

nano -w /etc/backuppc/hosts
[...]
AMD6000      0       user
#localhost   0       backuppc

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 BackupPC will send email reports regarding `AMD6000`, so we should create that user on the BackupPC server now:

useradd -m user
passwd user

In addition to that we must create a password for user for the BackupPC web interface:

htpasswd /etc/backuppc/htpasswd user

(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}.

nano -w /etc/backuppc/config.pl
[...]
$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'];
[...]

(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:

/etc/init.d/backuppc restart

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 BackupPC web interface, as shown in chapter 5.

vi /etc/backuppc/hosts
[...]
AMD6000      0       user
notebook     0       user
#localhost   0       backuppc

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:

nano -w /etc/backuppc/notebook.pl
$Conf{SmbShareName} = 'C';
$Conf{SmbShareUserName} = 'username';
$Conf{SmbSharePasswd} = 'password';
$Conf{XferMethod} = 'smb';

Enable Settings

Then restart BackupPC:

/etc/init.d/backuppc restart

Then reload the 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 BackupPC starts it:

Backup Linux Clients (tar)

For some reason this does not work under Intreped/9.04, however the method described on http://www.howtoforge.com/linux_backuppc_p4 works fine! The page is complex and confusing, so you must be careful work out just which is your "client" and which is your "server"! 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 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 Client and ClientRestore commands
  • Change $Conf{TarClientCmd} and $Conf{TarClientRestoreCmd} to read
$Conf{TarClientCmd} = ‘sudo $tarPath -c -v -f - -C $shareName’
. ‘ –totals’;
$Conf{TarClientRestoreCmd} = ‘sudo $tarPath -x -p –numeric-owner –same-owner’
. ‘ -v -f - -C $shareName’;
  • Also remove plus (+) from $incrDate in $Conf{TarIncrArgs} so it won't be double escaped (need to escape only once when running sudo):
$Conf{TarIncrArgs} = '--newer=$incrDate $fileList+';
  • Change $Conf{BackupFilesExclude} (these seem to all be temp files that you don’t really need to backup) to read
$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'];

Add backuppc to the sudoers list

  • Run “sudo visudo”
  • At the bottom of the file add
# Allow backuppc to run tar without a password
backuppc ALL=NOPASSWD: /bin/tar
  • 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 BackupYourSystem .

References

Authors

  • falko