archivos rsync en múltiples cuentas de usuario

archivos rsync en múltiples cuentas de usuario

Soy bastante nuevo en el uso rsyncy me pregunto si es posible sincronizar archivos entre varias cuentas de usuario en una sola PC.

Para las computadoras a las que quiero aplicar el rsynccomando, cada usuario debe iniciar sesión individualmente en su propia cuenta de usuario. Por ejemplo, si hay 20 usuarios, hay 20 cuentas de usuario en esa PC. ¿Hay alguna forma de utilizar rsyncdesde la cuenta raíz para acceder a los directorios y archivos decada¿usuario? Sólo me gustaría capturar archivos en.csvformato.

¡Gracias!

Respuesta1

¿Existe alguna forma de utilizar rsync desde la cuenta raíz para acceder a los directorios y archivos de cada usuario? Sólo me gustaría obtener archivos en formato .csv.

Este comando hará una copia de seguridad de todo /homey lo guardará en el host remoto en /path/to/backup. Conservará la propiedad y los permisos de los usuarios siempre que el sistema de archivos remoto sea capaz de hacerlo.

rsync -av /home remoteHost:/path/to/backup/

Si no tiene acceso de root en el sistema remoto, debe agregar la -M--fake-superopción de hacer una copia de seguridad de los metadatos del archivo (propiedades y permisos) de una manera que no necesite acceso de root. Asegúrese de que si usa esta bandera, también la use para restauraciones.

La segunda parte de su pregunta es un duplicado deFiltro Rsync: copiar solo un patrón. Para limitar la copia solo a .csvarchivos, puede usar esto

rsync -av --prune-empty-dirs --include='*/' --include='*.csv' --exclude='*' /home remoteHost:/path/to/backup/

Respuesta2

En general, sí. El problema con el que te encontrarás es la autenticación. Puede, por ejemplo, ejecutar un script rsync desde cron. Hazte un script de shell. Si el origen y el destino están en la computadora local, root funciona.

Si el origen o el destino es remoto, la tarea es mucho más difícil. La forma más sencilla es evitar el problema: utilice NFS para montar el disco remoto en la computadora local. También puedes buscar autenticación ssh... esa es una madriguera que debes investigar

DE ACUERDO. Supongamos que /root/backupuserlist es una lista de usuarios, uno por línea y /backupdrive es donde los respalda.

#!/bin/bash
# backup /root/backupuserlist to /backupdrive

BK_USERS=`cat /root/backupuserlist`
BK_DRIVE=/backupdrive

for user in $BK_USERS; do
   rsync -av ~$user/ $BK_DRIVE/$user/
done

crate /root/backuserlist, y luego ejecútelo como root... o colóquelo en el crontab de root o /etc/crontab... ya entiende.

información relacionada