Hi,

I have been running BackupPC for years without any issues, starting with
version 3. It's installed on Fedora Server, and for a long time I was not
upgrading it, so it got stuck on version 4.2 (probably). Few days ago I
finally updated the system to Fedora 31 and BackupPC got updated to 4.3.1
(and later to 4.3.2). Updates went smoothly and everything seemed to be OK
until I had to restore few files from the backup. I noticed that all
restored files are owned by root instead of original owner and group. I
verified it on two hosts, one running Fedora Workstation and other one
Proxmox (Debian). Files downloaded from the web interface as tar and zip
are OK - they maintain original ownership, which indicates that the backup
process is OK and there is some problem with restoring.
I'd appreciate if you could have a look at this issue. Please let me know
if you need more information from my side.

Restore log:

File /var/lib/BackupPC//pc/fedora/RestoreLOG.5.z
Contents of file /var/lib/BackupPC//pc/fedora/RestoreLOG.5.z, modified
2020-02-08 23:28:45

Trimming / from remoteDir -> /home/marcin
Wrote source file list to
/var/lib/BackupPC//pc/fedora/.rsyncFilesFrom52576: /Tutorials
Running: /usr/bin/rsync_bpc --bpc-top-dir /var/lib/BackupPC/
--bpc-host-name fedora --bpc-share-name /home/marcin --bpc-bkup-num 98
--bpc-bkup-comp 3 --bpc-bkup-merge 100/3/4,99/3/4,98/3/4
--bpc-attrib-new --bpc-log-level 5 -e /usr/bin/ssh\ -l\ backupuser\
-q\ -x --rsync-path=/usr/bin/sudo\ /usr/bin/rsync --numeric-ids
--perms --owner --group -D --links --hard-links --times
--block-size=2048 --relative --ignore-times --recursive
--checksum-seed=32761
--files-from=/var/lib/BackupPC//pc/fedora/.rsyncFilesFrom52576 /
fedora:/home/marcin
This is the rsync child about to exec /usr/bin/rsync_bpc
bpc_attrib_backwardCompat: WriteOldStyleAttribFile = 0, KeepOldAttribFiles = 0
bpc_chdir(/)
bpc_lstat(Tutorials)
bpc_opendir(Tutorials)
bpc_readdir -> .
bpc_readdir -> ..
bpc_readdir -> ldap_auth_omv.txt
bpc_lstat(Tutorials/ldap_auth_omv.txt)
bpc_readdir -> ldap_auth_pgina_windows7.txt
bpc_lstat(Tutorials/ldap_auth_pgina_windows7.txt)
bpc_readdir -> sortdirs.sh
bpc_lstat(Tutorials/sortdirs.sh)
bpc_readdir -> nvidia_tear_free.txt
bpc_lstat(Tutorials/nvidia_tear_free.txt)
bpc_readdir -> ldap_auth.txt
bpc_lstat(Tutorials/ldap_auth.txt)
bpc_readdir -> ldap_search.txt
bpc_lstat(Tutorials/ldap_search.txt)
bpc_readdir -> static mappings pfsense dhcp.txt
bpc_lstat(Tutorials/static mappings pfsense dhcp.txt)
bpc_readdir -> list_dir
bpc_lstat(Tutorials/list_dir)
bpc_readdir -> ldap_auth_memberof_owncloud_i_pfsense.txt
bpc_lstat(Tutorials/ldap_auth_memberof_owncloud_i_pfsense.txt)
bpc_readdir -> resize_lm_zentyal.txt
bpc_lstat(Tutorials/resize_lm_zentyal.txt)
bpc_readdir -> samba omv.txt
bpc_lstat(Tutorials/samba omv.txt)
bpc_readdir -> ldap_search_ad.txt
bpc_lstat(Tutorials/ldap_search_ad.txt)
bpc_readdir -> overprovisioning.txt
bpc_lstat(Tutorials/overprovisioning.txt)
bpc_readdir -> untangle-notify
bpc_lstat(Tutorials/untangle-notify)
bpc_readdir -> screen_wget.txt
bpc_lstat(Tutorials/screen_wget.txt)
bpc_readdir -> ldap_export.24.11.2016_apache_studio.ods
bpc_lstat(Tutorials/ldap_export.24.11.2016_apache_studio.ods)
bpc_readdir -> nxcloud ldap.txt
bpc_lstat(Tutorials/nxcloud ldap.txt)
bpc_readdir -> login samba gnome domena ad.txt
bpc_lstat(Tutorials/login samba gnome domena ad.txt)
bpc_readdir -> untangle_api_call_webfilter.txt
bpc_lstat(Tutorials/untangle_api_call_webfilter.txt)
bpc_readdir -> list_dir_sed
bpc_lstat(Tutorials/list_dir_sed)
bpc_readdir -> untangle-notify-how-to.txt
bpc_lstat(Tutorials/untangle-notify-how-to.txt)
bpc_readdir -> ldap_auth_client_fedora.txt
bpc_lstat(Tutorials/ldap_auth_client_fedora.txt)
bpc_readdir -> pfsense openvpn.txt
bpc_lstat(Tutorials/pfsense openvpn.txt)
bpc_readdir -> lensfun-convert-lcp
bpc_lstat(Tutorials/lensfun-convert-lcp)
bpc_readdir -> NULL
bpc_closedir()
bpc_open(Tutorials/ldap_auth.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_auth.txt))
bpc_lstat(Tutorials/ldap_auth.txt)
bpc_read(3 (Tutorials/ldap_auth.txt), buf, 4533) tmpFd = -1
bpc_close(3 (Tutorials/ldap_auth.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/ldap_auth_client_fedora.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_auth_client_fedora.txt))
bpc_lstat(Tutorials/ldap_auth_client_fedora.txt)
bpc_read(3 (Tutorials/ldap_auth_client_fedora.txt), buf, 4526) tmpFd = -1
bpc_close(3 (Tutorials/ldap_auth_client_fedora.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/ldap_auth_memberof_owncloud_i_pfsense.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_auth_memberof_owncloud_i_pfsense.txt))
bpc_lstat(Tutorials/ldap_auth_memberof_owncloud_i_pfsense.txt)
bpc_read(3 (Tutorials/ldap_auth_memberof_owncloud_i_pfsense.txt), buf,
1968) tmpFd = -1
bpc_close(3 (Tutorials/ldap_auth_memberof_owncloud_i_pfsense.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/ldap_auth_omv.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_auth_omv.txt))
bpc_lstat(Tutorials/ldap_auth_omv.txt)
bpc_read(3 (Tutorials/ldap_auth_omv.txt), buf, 949) tmpFd = -1
bpc_close(3 (Tutorials/ldap_auth_omv.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/ldap_auth_pgina_windows7.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_auth_pgina_windows7.txt))
bpc_lstat(Tutorials/ldap_auth_pgina_windows7.txt)
bpc_read(3 (Tutorials/ldap_auth_pgina_windows7.txt), buf, 651) tmpFd = -1
bpc_close(3 (Tutorials/ldap_auth_pgina_windows7.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/ldap_export.24.11.2016_apache_studio.ods, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_export.24.11.2016_apache_studio.ods))
bpc_lstat(Tutorials/ldap_export.24.11.2016_apache_studio.ods)
bpc_read(3 (Tutorials/ldap_export.24.11.2016_apache_studio.ods), buf,
8412) tmpFd = -1
bpc_close(3 (Tutorials/ldap_export.24.11.2016_apache_studio.ods))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/ldap_search.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_search.txt))
bpc_lstat(Tutorials/ldap_search.txt)
bpc_read(3 (Tutorials/ldap_search.txt), buf, 118) tmpFd = -1
bpc_close(3 (Tutorials/ldap_search.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/ldap_search_ad.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/ldap_search_ad.txt))
bpc_lstat(Tutorials/ldap_search_ad.txt)
bpc_read(3 (Tutorials/ldap_search_ad.txt), buf, 82) tmpFd = -1
bpc_close(3 (Tutorials/ldap_search_ad.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/lensfun-convert-lcp, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/lensfun-convert-lcp))
bpc_lstat(Tutorials/lensfun-convert-lcp)
bpc_read(3 (Tutorials/lensfun-convert-lcp), buf, 46038) tmpFd = -1
bpc_close(3 (Tutorials/lensfun-convert-lcp))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/list_dir, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/list_dir))
bpc_lstat(Tutorials/list_dir)
bpc_read(3 (Tutorials/list_dir), buf, 396) tmpFd = -1
bpc_close(3 (Tutorials/list_dir))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/list_dir_sed, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/list_dir_sed))
bpc_lstat(Tutorials/list_dir_sed)
bpc_read(3 (Tutorials/list_dir_sed), buf, 467) tmpFd = -1
bpc_close(3 (Tutorials/list_dir_sed))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/login samba gnome domena ad.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/login samba gnome domena ad.txt))
bpc_lstat(Tutorials/login samba gnome domena ad.txt)
bpc_read(3 (Tutorials/login samba gnome domena ad.txt), buf, 39) tmpFd = -1
bpc_close(3 (Tutorials/login samba gnome domena ad.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/nvidia_tear_free.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/nvidia_tear_free.txt))
bpc_lstat(Tutorials/nvidia_tear_free.txt)
bpc_read(3 (Tutorials/nvidia_tear_free.txt), buf, 210) tmpFd = -1
bpc_close(3 (Tutorials/nvidia_tear_free.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/nxcloud ldap.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/nxcloud ldap.txt))
bpc_lstat(Tutorials/nxcloud ldap.txt)
bpc_read(3 (Tutorials/nxcloud ldap.txt), buf, 93) tmpFd = -1
bpc_close(3 (Tutorials/nxcloud ldap.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/overprovisioning.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/overprovisioning.txt))
bpc_lstat(Tutorials/overprovisioning.txt)
bpc_read(3 (Tutorials/overprovisioning.txt), buf, 1829) tmpFd = -1
bpc_close(3 (Tutorials/overprovisioning.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/pfsense openvpn.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/pfsense openvpn.txt))
bpc_lstat(Tutorials/pfsense openvpn.txt)
bpc_read(3 (Tutorials/pfsense openvpn.txt), buf, 129) tmpFd = -1
bpc_close(3 (Tutorials/pfsense openvpn.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/resize_lm_zentyal.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/resize_lm_zentyal.txt))
bpc_lstat(Tutorials/resize_lm_zentyal.txt)
bpc_read(3 (Tutorials/resize_lm_zentyal.txt), buf, 3467) tmpFd = -1
bpc_close(3 (Tutorials/resize_lm_zentyal.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/samba omv.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/samba omv.txt))
bpc_lstat(Tutorials/samba omv.txt)
bpc_read(3 (Tutorials/samba omv.txt), buf, 194) tmpFd = -1
bpc_close(3 (Tutorials/samba omv.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/screen_wget.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/screen_wget.txt))
bpc_lstat(Tutorials/screen_wget.txt)
bpc_read(3 (Tutorials/screen_wget.txt), buf, 8475) tmpFd = -1
bpc_close(3 (Tutorials/screen_wget.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/sortdirs.sh, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/sortdirs.sh))
bpc_lstat(Tutorials/sortdirs.sh)
bpc_read(3 (Tutorials/sortdirs.sh), buf, 131) tmpFd = -1
bpc_close(3 (Tutorials/sortdirs.sh))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/static mappings pfsense dhcp.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/static mappings pfsense dhcp.txt))
bpc_lstat(Tutorials/static mappings pfsense dhcp.txt)
bpc_read(3 (Tutorials/static mappings pfsense dhcp.txt), buf, 2196) tmpFd = -1
bpc_close(3 (Tutorials/static mappings pfsense dhcp.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/untangle-notify, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/untangle-notify))
bpc_lstat(Tutorials/untangle-notify)
bpc_read(3 (Tutorials/untangle-notify), buf, 1487) tmpFd = -1
bpc_close(3 (Tutorials/untangle-notify))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/untangle-notify-how-to.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/untangle-notify-how-to.txt))
bpc_lstat(Tutorials/untangle-notify-how-to.txt)
bpc_read(3 (Tutorials/untangle-notify-how-to.txt), buf, 1799) tmpFd = -1
bpc_close(3 (Tutorials/untangle-notify-how-to.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_open(Tutorials/untangle_api_call_webfilter.txt, 0x0, 00) -> 3
bpc_fstat(3 (Tutorials/untangle_api_call_webfilter.txt))
bpc_lstat(Tutorials/untangle_api_call_webfilter.txt)
bpc_read(3 (Tutorials/untangle_api_call_webfilter.txt), buf, 267) tmpFd = -1
bpc_close(3 (Tutorials/untangle_api_call_webfilter.txt))
bpc_fileDescFree: fdNum = 3, tmpFd = -1, tmpFileName = NULL
bpc_sysCall_cleanup: doneInit = 1
Done: 0 errors, 0 filesExist, 0 sizeExist, 0 sizeExistComp, 24
filesTotal, 88456 sizeTotal, 0 filesNew, 0 sizeNew, 0 sizeNewComp, 0
inode
Parsing done: nFilesTotal = 24

Config:

$Conf{RsyncRestoreArgs} = [
  '--numeric-ids',
  '--perms',
  '--owner',
  '--group',
  '-D',
  '--links',
  '--hard-links',
  '--times',
  '--block-size=2048',
  '--relative',
  '--ignore-times',
  '--recursive',
  '--checksum-seed=32761'
];

$Conf{RsyncClientCmd} = '$sshPath -q -x -l backupuser $host sudo $rsyncPath
$argList+';

$Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l backupuser $host sudo
$rsyncPath $argList+';

User 'backupuser' is added to sudoers on hosts:

backupuser ALL=NOPASSWD:/usr/bin/gtar,/usr/bin/tar,/usr/bin/rsync


Best Regards
-- 
Marcin Rogoz
mar...@rogoz.org
_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

Reply via email to