arquivos rsync em várias contas de usuário

arquivos rsync em várias contas de usuário

Sou muito novo no uso rsynce estou me perguntando se é possível sincronizar novamente arquivos em várias contas de usuário em um único PC.

Para os computadores aos quais desejo aplicar o rsynccomando, cada usuário deve fazer login individualmente em sua própria conta de usuário. Por exemplo, se houver 20 usuários, haverá 20 contas de usuário naquele PC. Existe uma maneira de usar rsynca conta root para acessar os diretórios e arquivos docadado utilizador? Eu só gostaria de pegar arquivos em.csvformatar.

Obrigado!

Responder1

Existe uma maneira de usar o rsync da conta root para acessar os diretórios e arquivos de cada usuário? Gostaria apenas de obter arquivos no formato .csv.

Este comando fará backup de tudo /homee salvará no host remoto em /path/to/backup. Ele manterá as propriedades e permissões dos usuários, desde que o sistema de arquivos remoto seja capaz de fazê-lo

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

Se você não tiver acesso root no sistema remoto, você deve adicionar a -M--fake-superopção de fazer backup dos metadados do arquivo (propriedades e permissões) de uma forma que não precise de acesso root. Certifique-se de que, ao usar esse sinalizador, você também o use para restaurações.

A segunda parte da sua pergunta é uma duplicata deFiltro Rsync: copiando apenas um padrão. Para limitar a cópia apenas a .csvarquivos você pode usar isto

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

Responder2

Em geral, sim. O problema que você encontrará é a autenticação. Você pode, por exemplo, executar um script rsync no cron. Faça você mesmo um script de shell. Se a origem e o destino estiverem no computador local, o root funciona.

Se a origem ou destino for remoto, a tarefa é muito mais difícil. A maneira mais fácil é contornar o problema --- usar o NFS para montar o disco remoto no computador local. Você também pode pesquisar a autenticação ssh... isso é uma toca de coelho para você pesquisar

OK. Suponha que /root/backupuserlist seja uma lista de usuários, um por linha e /backupdrive seja onde você está fazendo backup deles.

#!/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 e, em seguida, execute-o como root... ou coloque-o no crontab do root ou /etc/crontab ... você entende.

informação relacionada