allanjude / zxfer

A continuation of development on zxfer, a popular script for managing ZFS snapshot replication
BSD 2-Clause "Simplified" License
124 stars 40 forks source link

zxfer not working on FreeBSD 10.1 #11

Open cernst1980 opened 9 years ago

cernst1980 commented 9 years ago

Hi,

after upgrade to FreeBSD 10, zxfer is not working anymore because of new default filesystem layout.

root@nas01:~$ uname -r
10.1-RELEASE-p5

root@nas01:~$ zfs list
NAME                                   USED  AVAIL  REFER  MOUNTPOINT
zraid                                 7.17T  3.04T   209K  none
zraid/home                             490G  3.04T   490G  /usr/home
zraid/zrootbackup                     5.06G  3.04T   169K  /zraid/zrootbackup
...
zroot                                 4.89G  87.6G    96K  none
zroot/ROOT                            2.40G  87.6G    96K  none
zroot/ROOT/default                    2.40G  87.6G  2.37G  /
zroot/tmp                              476K  87.6G   476K  /tmp
zroot/usr                             2.48G  87.6G    96K  /usr
zroot/usr/ports                       1.99G  87.6G  1.99G  /usr/ports
zroot/usr/src                          506M  87.6G   506M  /usr/src
zroot/var                             3.36M  87.6G    96K  /var
zroot/var/crash                         96K  87.6G    96K  /var/crash
zroot/var/log                         3.05M  87.6G  1.41M  /var/log
zroot/var/mail                         120K  87.6G   120K  /var/mail

root@nas01:~$ zxfer -SPkld -R /bin,/boot,/etc,/lib,/libexec,/rescue,/root,/sbin,/tmp,/usr,/var,/zraid -N /.cshrc,/.profile zraid/zrootbackup
rsync: link_stat "/.zfs/snapshot/zxfertempsnap/..cshrc" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1186) [sender=3.1.1]
Error when executing rsync.

I could fix it by changing the following line.

root@nas01:~$ pkg info | grep zxfer
zxfer-1.1.0                    Easily and reliably transfer ZFS filesystems

root@nas01:~$ diff /tmp/zxfer /usr/local/sbin/zxfer      
909c909
 <     if [ "$opt_src_fs_mountpoint" = "legacy" -o "$opt_src_fs_mountpoint" = "/" ]; then
 ---
 >     if [ "$opt_src_fs_mountpoint" = "legacy" ]; then

Best regards, Chris