원격 Linux 서버를 Windows 워크스테이션에 백업하고 싶습니다.
나는 이와 비슷한 것을 찾고 있지만 Windows에서는 다음과 같습니다.원격 서버에서 백업
사용할 수 있는 Windows rsync 클라이언트가 있습니까? 아니면 내부적으로 rsync를 사용하는 GUI 애플리케이션이 있습니까? SSH 키를 사용하여 연결하고 매일 실행하여 원격 파일을 Windows 시스템에 동기화할 수 있어야 합니다.
답변1
Cygwin에는 openssh(클라이언트 및 서버)와 rsync가 있으므로 Linux에서와 마찬가지로 이를 사용하여 rsync 대상을 생성할 수 있습니다.
나의 주요 관심사는 파일 시스템 문제입니다. Rsync는 메타데이터를 별도의 위치에 캡처하는 대신 동기화를 시도 tar
합니다 zip
. 이는 메타데이터가 대상 파일 시스템과 호환되지 않으면 문제가 발생한다는 것을 의미합니다.
- 두 컴퓨터의 사용자가 동일하지 않을 수 있습니다.
- NTFS 파일 이름은 대부분의 Linux 파일 시스템보다 더 제한적입니다.
- rsync가 NTFS에서 장치 특수 파일을 요청하면 어떻게 될지 모르겠습니다.
이상한 이름이 없고 소유권/권한이 큰 문제가 아닌 웹 폴더에서 동기화를 시도하고 있다면 제대로 작동할 것입니다. Linux 루트 파일 시스템을 동기화하고 모든 장치와 권한을 유지하려는 경우 Windows에 대한 rsync가 더 큰 문제가 될 수 있다고 생각합니다.
또 다른 접근 방식은 Windows 서버 내에서 Linux 가상 머신을 실행하는 것입니다. 그런 다음 필요에 따라 가상 머신을 구성할 수 있습니다. 이것이 수행하는 유일한 작업이 근무 외 시간에 파일을 전송하는 것뿐이고 RAM이 충분하다면 Windows 서버 성능에 전혀 영향을 미치지 않습니다.
답변2
rsnapshot.conf
#################################################
# rsnapshot.conf - rsnapshot configuration file #
#################################################
config_version 1.2
# All snapshots will be stored under this root directory.
#
# what ron uses
snapshot_root /bkup/private/
# If no_create_root is enabled, rsnapshot will not automatically create the
# snapshot_root directory. This is particularly useful if you are backing
# up to removable media, such as a FireWire or USB drive.
#
no_create_root 1
#################################
# EXTERNAL PROGRAM DEPENDENCIES #
#################################
# LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features.
# EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
#
# See the README file or the man page for more details.
#
cmd_cp /bin/cp
# uncomment this to use the rm program instead of the built-in perl routine.
#
cmd_rm /bin/rm
# rsync must be enabled for anything to work. This is the only command that
# must be enabled.
#
cmd_rsync /usr/bin/rsync
# Uncomment this to enable remote ssh backups over rsync.
#
#cmd_ssh /usr/bin/ssh
# Comment this out to disable syslog support.
#
cmd_logger /bin/logger
# Uncomment this...
# Uncomment that...
#########################################
# BACKUP LEVELS / INTERVALS #
# Must be unique and in ascending order #
# e.g. alpha, beta, gamma, etc. #
#########################################
# retain alpha 6
# retain beta 7
# retain gamma 4
# retain delta 3
# what ron uses, daily non-incremental backup via cron at 2am,
# crontab entry: * 2 * * * /usr/local/bin/rsnapshot daily
retain daily 1
############################################
# GLOBAL OPTIONS #
# All are optional, with sensible defaults #
############################################
# Verbose level, 1 through 5.
# 1 Quiet Print fatal errors only
# 2 Default Print errors and warnings only
# 3 Verbose Show equivalent shell commands being executed
# 4 Extra Verbose Show extra verbose information
# 5 Debug mode Everything
#
verbose 2
# Same as "verbose" above, but controls the amount of data sent to the
# logfile, if one is being used. The default is 3.
#
loglevel 3
# If you enable this, data will be written to the file you specify. The
# amount of data written is controlled by the "loglevel" parameter.
#
logfile /var/log/rsnapshot
[... bunch of stuff removed to post on stackexchange easier...]
###############################
### BACKUP POINTS / SCRIPTS ###
###############################
# LOCALHOST
# backup /home/ localhost/
# backup /etc/ localhost/
# backup /usr/local/ localhost/
# backup /var/log/rsnapshot localhost/
# backup /etc/passwd localhost/
# backup /home/foo/My Documents/ localhost/
# backup /foo/bar/ localhost/ one_fs=1, rsync_short_args=-urltvpog
# backup_script /usr/local/bin/backup_pgsql.sh localhost/postgres/
# You must set linux_lvm_* parameters below before using lvm snapshots
# backup lvm://vg0/xen-home/ lvm-vg0/xen-home/
# EXAMPLE.COM
# backup_exec /bin/date "+ backup of example.com started at %c"
# backup [email protected]:/home/ example.com/ +rsync_long_args=--bwlimit=16,exclude=core
# backup [email protected]:/etc/ example.com/ exclude=mtab,exclude=core
# backup_exec ssh [email protected] "mysqldump -A > /var/db/dump/mysql.sql"
# backup [email protected]:/var/db/dump/ example.com/
# backup_exec /bin/date "+ backup of example.com ended at %c"
# CVS.SOURCEFORGE.NET
# backup_script /usr/local/bin/backup_rsnapshot_cvsroot.sh rsnapshot.cvs.sourceforge.net/
# RSYNC.SAMBA.ORG
# backup rsync://rsync.samba.org/rsyncftp/ rsync.samba.org/rsyncftp/
# what ron uses, very simple, local disks
# /data is /dev/sdb1 an N tb drive
# snapshot root folder /bkup is /dev/sdc1 an n tb volume
# this will copy everything under /data to /bkup/private/mybackup/
backup /data mybackup/
서비스가 설정되어 있고 SSH가 선호되는 서비스라고 생각하지만 RSH 또는 다른 것일 수 있는 경우 사용자 정의 rsnapshot.conf 파일을 통해 소스에서 대상으로 복사하는 것만 큼 간단합니다.
https://wiki.archlinux.org/index.php/Rsnapshot
http://www.mikerubel.org/computers/rsync_snapshots/
rsnapshot은 rsync 기반 파일 시스템 스냅샷 유틸리티입니다. rsnapshot을 사용하면 SSH를 통해 로컬 시스템과 원격 시스템의 정기적인 스냅샷을 쉽게 찍을 수 있습니다. 코드는 필요한 디스크 공간을 크게 줄이기 위해 가능한 한 광범위하게 하드 링크를 사용합니다. Rsnapshot은 완전히 Perl로 작성되었습니다.모듈 종속성이 없으며 버전 5.004~5.16.3에서 테스트되었습니다. 이는 합리적으로 현대적인 UNIX 호환 운영 체제에서 실행되어야 합니다.
rsnapshot은 Linux에 설치하고 Linux에서 백업하는 경우 유용합니다.원천도착하다목적지소스는 기본적으로 무엇이든 가능합니다.리눅스에 설치됨. Linux에 마운트하는 경우 로컬 디스크가 필요하지 않습니다.