rsync-файлы для нескольких учетных записей пользователей

rsync-файлы для нескольких учетных записей пользователей

Я новичок в использовании rsync rsyncи мне интересно, можно ли синхронизировать файлы между несколькими учетными записями пользователей на одном ПК?

Для компьютеров, rsyncк которым я хочу применить команду, каждый пользователь должен индивидуально войти в свою учетную запись пользователя. Например, если есть 20 пользователей, то на этом ПК будет 20 учетных записей пользователей. Есть ли способ использовать учетную rsyncзапись root для доступа к каталогам и файламкаждыйпользователь? Я хотел бы только захватить файлы в.csvформат.

Спасибо!

решение1

Есть ли способ использовать rsync из учетной записи root для доступа к каталогам и файлам каждого пользователя? Я хотел бы захватить только файлы в формате .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

В общем, да. Проблема, с которой вы столкнетесь, — это аутентификация. Например, вы можете запустить скрипт rsync из cron. Создайте себе скрипт оболочки. Если источник и назначение находятся на локальном компьютере, 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

создайте /root/backuserlist, а затем запустите это как root... или поместите это в crontab root или /etc/crontab... вы поймете суть.

Связанный контент