Puedo copiar archivos de dispositivos Linux sin ningún error de esta manera:
rsync --recursive --links --perms --times --group --owner --devices --specials --xattrs --acls --stats /path/to/dev root@MACHINE:/path/to/bkps/pero recibo muchos errores del tipo
omitiendo el archivo no regular "dev/audio"
cuando lo hago asi:
rsync --recursive --links --perms --times --group --owner --devices --specials --xattrs --acls --stats /path/to/dev rsync://root@MACHINE/MODULE/donde rsync en MACHINE se ejecuta en modo daemon y su rsyncd.conf contiene las siguientes configuraciones:
lock file = /var/run/rsync.lock pid file = /var/run/rsyncd.pid log file = /var/log/rsyncd.log strict modes = true uid = UID_TO_SET gid = GID_TO_SET read only = no list = yes [MODULE] path = /path/to/bkps/La única diferencia en las líneas de comando anteriores es la ruta de destino:
root@MAQUINA:/ruta/hacia/bkps/
contra
rsync://raíz@MÁQUINA/MÓDULO/
¿Alguien puede ayudarme a resolver este problema? Gracias
El daemon y el módulo deben ser uid root para que --owner o --devices funcionen. No está claro en su rsyncd.conf cuál es el valor de uid y gid . El hecho de que su usuario se llame root no significa que el daemon o el módulo se estén ejecutando con privilegios de root.
Además, puede reemplazar los siguientes argumentos:
--recursive --links --perms --times --group --owner --devices --specials
con -a o --archive , que es un alias para todos ellos.
Gracias a Matt por su aporte, y después de algunas lecturas y pruebas manuales más, pude resolver el problema:
Las directivas UID y GID en rsyncd.conf especificaron usuarios/grupos "normales" sin privilegios, porque pensé que estas directivas son para configurar el usuario/grupo de los datos copiados
Y como el rsync-daemon es iniciado por el sistema en el inicio, pensé que se estaba ejecutando como root de todos modos