Total Pageviews

Tuesday, 7 November 2017

在CentOS上搭建类似Time Capsule服务并配置MacOS X的TimeMachine备份

    Mac OS X 上可以通过 TimeMachine 将我们的数据备份到Time Capsule服务
    使用增量备份方式,也就是第一次备份速度慢,之后的速度就快了,但是这需要我们有一个
    Time Capsule设备,也就是带有无线网络和硬盘的移动设备,价格也不便宜。
    使用CentOS作为Time Capsule设备,需要我们的 CentOS 支持 AppleTalk 通信协议,并要是 Mac OS 能发现我们的 CentOS,这就需要 Bonjour 的功能。
    Netatalk 是一个免费开源的 AppleTalk 通信协议的实现,Linux 或者 BSD 系统通过
    它可以充当 Mac 的文件服务器 (AppleShare File Server, 网络协议是 AFP)、
    AppleTalk 路由、打印服务器等。
    Avahi 是 Apple’s Zeroconf 协议的开源实现,实现类似 Bonjour 的功能,
    它可以让你在 Mac 系统里自动发现你的 Linux 计算机。
    安装需要的软件:
    yum install -y netatalk avahi nss-mdns
    服务器端配置:
    cat >> /etc/default/netatalk <<EOF
    ATALKD_RUN=yes
    PAPD_RUN=no
    CNID_METAD_RUN=yes
    AFPD_RUN=yes
    TIMELORD_RUN=no
    A2BOOT_RUN=no
    EOF

    cat >> /etc/avahi/services/afpd.service << EOF
    <?xml version=”1.0″ standalone=’no’?>
    <!DOCTYPE service-group SYSTEM “avahi-service.dtd”>
    <service-group>
    <name replace-wildcards=”yes”>%h</name>
    <service>
    <type>_afpovertcp._tcp</type>
    <port>548</port>
    </service>
    <service>
    <type>_device-info._tcp</type>
    <port>0</port>
    <txt-record>model=Xserve</txt-record>
    </service>
    </service-group>
    EOF

    echo ‘- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword’ >> /etc/netatalk/afpd.conf

    echo ‘hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns’ >> /etc/nsswitch.conf
    共享出我们的备份目录,比如我的用户是 time data, 目录是 /data/timedata/Time\ Machine/
    echo ‘/data/timedata/TimeMachine “TimeMachine” allow:timedata cnidscheme:cdb options:usedots,upriv,tm’ >>/etc/netatalk/AppleVolumes.default
    /etc/netatalk/AppleVolumes.default
    echo ‘dbus-daemon –system’>>/etc/rc.local

    启动服务
    dbus-daemon –system
    service netatalk restart
    service avahi-daemon restart

    chkconfig netatalk on
    chkconfig avahi-daemon on

    Mac OS X上如果无法发现,终端执行
    defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

    关闭本地备份
    sudo tmutil disablelocal

No comments:

Post a Comment