跨多个用户帐户同步文件

跨多个用户帐户同步文件

我对使用还很陌生rsync,我想知道是否可以在一台 PC 上跨多个用户帐户同步文件?

对于我想要应用该命令的计算机rsync,每个用户都必须单独登录自己的用户帐户。例如,如果有 20 个用户,则该一台 PC 上有 20 个用户帐户。有没有办法rsync从 root 帐户访问目录和文件每个用户?我只想抓取文件.csv格式。

谢谢!

答案1

有没有办法从root帐户使用rsync来访问每个用户的目录和文件?我只想抓取 .csv 格式的文件。

该命令将备份所有内容/home并将其保存到远程主机下的/path/to/backup.如果远程文件系统能够这样做,它将保留用户的所有权和权限

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

如果您在远程系统上没有 root 访问权限,则应添加-M--fake-super选项以不需要 root 访问权限的方式备份文件元数据(所有权和权限)。确保如果您使用此标志,也将其用于恢复。

你的问题的第二部分是重复的Rsync 过滤器:仅复制一种模式。要将复制限制为仅.csv文件,您可以使用此

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

答案2

一般来说,是的。您将遇到的问题是身份验证。例如,您可以从 cron 运行 rsync 脚本。给自己写一个shell脚本。如果源和目标都在本地计算机上,则 root 可以工作。

如果源或目的地是远程的,那么这是一项更加困难的任务。最简单的方法是绕过这个问题——使用NFS将远程磁盘挂载到本地计算机上。你还可以查找 ssh 身份验证...这是一个供你研究的兔子洞

好的。假设 /root/backupuserlist 是用户列表,每行一个,而 /backupdrive 是您备份用户的位置。

#!/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,然后以 root 身份运行它...或者将其放入 root 的 crontab 或 /etc/crontab 中...您就明白了。

相关内容