Я должен скопировать набор каталогов к моему NAS (он в основном обнаруживается как сетевой ресурс в Средстве поиска). Я не хочу делать это загрузочным, просто должен скопировать несколько каталогов. Я также хотел бы иметь выполненный ночью. Я попытался смотреть на документацию для rsync, но не смог понять это все же.
Я также смотрел на rsyncx, но не могу заставить это устанавливать. Не заботьтесь о Машине времени, поддерживают также, просто нуждаются в простом резервном копировании.
Вашему NAS настраивали rsync сервис? Некоторая поддержка это (например, ReadyNAS). Если так, можно сделать что-то вроде этого:
#!/bin/sh
DEST=xx.xx.xx.xx::backup/swilliams/
RSYNC_OPTS='-vaC --exclude ".DS_Store"'
/usr/bin/rsync $RSYNC_OPTS --exclude "build/" --exclude "dist/" --exclude "*.pyc" ~/code $DEST
/usr/bin/rsync $RSYNC_OPTS ~/Music $DEST
/usr/bin/rsync $RSYNC_OPTS ~/Pictures $DEST
/usr/bin/rsync $RSYNC_OPTS --exclude "Virtual Machines*" ~/Documents $DEST
Необходимо будет изменить DEST на IP-адрес NAS и изменить пути и материал для удовлетворения.
Если Вы сохраняете это как, скажем, ~/bin/backup.sh
(и убеждаться сделать chmod a+x ~/bin/backup.sh
) затем можно выполнить его ночью использование крона. Выполненный crontab -e
и добавьте эту строку:
0 0 * * * $HOME/bin/backup.sh > $HOME/logs/backup.log 2>&1
(0 0 * * *
средства: выполненный в полночь каждый день, каждый месяц. Первый столбец является минутами, таким образом, 3:00 0 3 * * *
. Это запишет, входит в систему ~/logs
поэтому удостоверьтесь, что каталог существует или поместил их где-то в другом месте),
Если Ваш NAS не поддерживает rsync как услуга затем, я думаю, что он должен работать при изменении запуска на это:
#!/bin/sh
mount_smbfs //user:password@xx.xx.xx.xx/backup /Volumes/backup
DEST=/Volumes/backup
и в конце:
umount /Volumes/backup
(если Ваша доля открыта, можно бросить пользователя и пароль),
Если Вы хотите резервные копии, к которым добавляют метку времени, можно экспериментировать с командой даты. например.
DATE=`date +%Y%m%d`
затем $DATE доступа в Вашем сценарии.
Если что-нибудь здесь не ясно Вам, просто спросите.
rsync-av path_to_files path_to_place_on_NAS
выполните его через крон, crontab-e, Хотя необходимо знать vi для этого, и искать crontab синтаксис.
Это работает, если файлы принадлежат Вам. Я думаю, что Вы могли бы хотеть, чтобы опция E (-авеню) захватила ветвь ресурсов, которая действительно не используется под OS X, насколько я понимаю, но только Вашим классическим материалом, который больше не работает).
Вот некоторые ссылки, Вы не должны смешивать с материалом ssh.
простой: http://www.egg-tech.com/mac_backup/
комплекс: www.bombich.com/mactips/rsync.html
При использовании rsync для резервного копирования большинство опций импорта взглянуть на --backup
и --backup-dir
, без тех Вы делаете копию, не резервное копирование. Как с резервным копированием Вы хотите отслеживать изменения, вместо просто перезаписывают их. То, что я использую, является этим:
#!/bin/sh
RSYNCOPTS="-e ssh --delete --one-file-system --relative --archive -P --verbose --compress --recursive"
BACKUPDIR="/backup/"
BACKUPINCR="${BACKUPDIR}/incr/$(date -I)"
BACKUPROOT="${BACKUPDIR}/root/"
EXCLUDES="--exclude-from /home/juser/.backup-excludes"
# Make sure we use a new incr backup directory on each run
NUM=0
while [ -e "${BACKUPINCR}-${NUM}" ]; do
NUM=$(($NUM + 1))
done
BACKUPINCR="${BACKUPINCR}-${NUM}"
for i in /home/ /etc/; do
rsync $RSYNCOPTS $EXCLUDES--backup --backup-dir="$BACKUPINCR" "$i" "$BACKUPROOT"
done
Это дает Вам копию в /backup/root/
и резервное копирование всех измененных или удаленных файлов в /backup/incr/$DATE-$NUM
.
Этот сценарий использование --one-file-system
, таким образом, это не пересекает границы файловой системы, и это использует --relative
сохранить абсолютные пути.
Если Вы хотите это дополнительный педантичный, можно добавить --checksum
, тот будет контрольная сумма все файлы вместо того, чтобы просто использовать метку времени для пропуска. Преимущество состоит в том, что Ваше резервное копирование будет иметь лучший шанс того, чтобы быть свободным от разрядных зеркальных отражений, но оно будет работать довольно долгое время дольше.
Другой генерал советует, всегда использует --dry-run
когда Вы играете вокруг с новой опцией, где Вы не уверены, когда дело доходит до чего они делают, особенно --delete
и друзья, поскольку Вы не делаете, не будут для вытирания уже существующего резервного копирования случайно.