Introduction
For small and medium-sized businesses or websites that choose Linux as an application platform, it is often facing how to implement data remote backups or websites, although commercial backups and mirror elephants are available, but the price of these products is often Too expensive. So how to use free software to efficiently implement remote backups and website mirroring, becoming a topic worth discussing.
The easiest way to remote data backup or website mirroring is to use Wget, but this method needs to be re-transfer all data over again, regardless of which files are updated, so efficiency Very low. Especially when the amount of data that needs to be backed up is large, it is often necessary to spend a few hours to perform data transfer on the network.
So this will introduce an efficient network remote backup and mirror tool -RSync, which can meet the vast majority requirements are not particularly stringent backup requirements.
Rsync is a data mirror backup tool under UNIX systems, which can be seen from the software name - Remote Sync. Its characteristics are as follows:
The entire directory tree and file system can be mirrored.
You can easily maintain the privilege, time, soft and hard links, etc. of the original file.
It is installed without special permissions.
Optimized process, high file transmission efficiency.
You can transfer files using RCP, SSH, etc., of course, can also be connected by direct Socket.
Support anonymous transmission to facilitate website mirroring.
software download
Rysnc's home page address is:
http://rsync.samba.org/
The latest version is 2.4.6. You can choose from the original website to download: http://rsync.samba.org/ftp/rsync/. You can also choose from this site to download: rsync 2.4.6.
Compilation and installation
Rsync's compilation and installation is very simple, just a few steps below:
[root @ www rsync-2.4.6] # ./configure
[root @ www rsync-2.4.6] # Make
[root @ www rsync-2.4.6] # make install
However, it is important to note that rsync must be installed on both the servers A and B, where the A server runs RSYNC in server mode, and B is running RSYNC in the client mode. This runs the RSYNC daemon on the web server A, and the client is running on B. The contents of the WEB server A are required to back up.
RSYNC server
1, startup of the RSYNC server
You need to launch the RSYNC server in the Web Server A, just run:
[root @ www rsync-2.4.6] # / usr / local / bin / rsync --daemon
You can start. The RSync default service port is 873, and the server receives a backup request for the client's anonymous or authentication mode.
If you want to get up when you start, there are several different ways, such as:
A, add inetd.conf
Edit / etc / services, add RSYNC 873 / TCP, specifying the RSYNC's service port is 873. Add /etc/inetd.conf, join RSync Stream TCP NOWAIT ROOT / BIN / RSYNC RSYNC - Daemon
Note: For XINETD, the setting method is similar.
B, joining rc.local
Edit /etc/rc.d/rc.local, in the last added:
/ usr / local / bin / rsync --daemon
2, RSYNC configuration
For the RSYNC server, the most important and complex is its configuration. The RSYNC server configuration file is /etc/rsyncd.conf, which controls authentication, access, logging, and more.
This file consists of one or more module structures. A module defines the beginning of the module name in the square, until the next module definition begins or the file end, the module contains the parameter definition of Name = Value. Each module actually corresponds to a directory tree that needs backup, and in our instance environment, there are three directory trees that need backup: / www /, / home / web_user1 / and / home / web_user2 /, then need to configure The three modules are defined in the file, respectively correspond to three directory trees. The profile is a unit of behavior, that is, each new line represents a new annotation, module definition or parameter assignment. The row of the # beginning is indicated by "" "" "The end of the line indicates the following line is the continuation of the line. The parameter assignment is medium or lower, and it may be a case where a case is not sensitive, a Boolean value represented by TRURE / FALSE.
Global parameters
All parameters before [MODLUE] are all global parameters, of course, the module parameters can be defined at the global parameter portion, and the value of this parameter is the default value of all modules.
MOTD FILE
"MOTD FILE" parameter is used to specify a message file. When the customer is connected to the server, the content of the file is displayed to the customer, the default is no MOTD file.
Log file
"log file" Specifies the log file of RSYNC without sending the log to syslog.
PID file
Specifies the PID file of RSYNC.
Syslog facility
Specify the message level when the RSync sends a log message to Syslog, the common message level is: uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, Local2, Local3, Local4, Local5, Local6 and Local7. The default is Daemon.
Module parameter
After the global parameter, you need to define one or more modules, and the following parameters can be defined in the module:
Comment
Specify a description to the module, which is displayed to the customer along with the module name to get a module list in the client connection. There is no description definition by default.
Path
Specify the directory tree path of the backup of the module, which must be specified.
Use chroot
If "use chroot" is specified as true, then RSYNC is first chroot to the directory specified by Chroot to the Path parameter before the transfer file. The reason for this is to achieve additional safety protection, but the disadvantage is to need ROOTS permissions and cannot back up the directory file points to the external symbol connection. By default, the chroot value is TRUE.
Max Connections
Specifies the maximum concurrent connection number of the module to protect the server, and more than the restricted connection request will be informed later. The default is 0, that is, there is no limit.
LOCK FILE
Specifies the lock file that supports the Max Connections parameter, the default value is /VAR/run/rsyncd.lock.
Read Only
This option sets whether the client is allowed to upload the file. If any upload request will fail if it is true, if false and the server directory read / write permissions are allowed to be allowed. The default is TRUE.
List
This option sets whether or not the module should be listed when the client requests can be used. If you set this option to false, you can create a hidden module. The default is True.
UID
This option specifies the UID that the daemon should have when the module is transferred, and the GID option can be used to determine how the file permissions can be accessed, the default value is "Nobody".
GID
This option specifies the GID that the daemon should have when the module is transferred. The default is "Nobody".
Exfude
It is used to specify a plurality of mode lists separated by spaces and add it to the Exclude list. This is equivalent to using -exclude to specify mode in the client command, but the exluDe mode specified in the configuration file will not be passed to the client, but is only applied to the server. A module can only specify an exluDe option, but you can use "-" and " " in front of the mode to be specified as Exclude or Include. But what you need to pay attention is that this option has certain security issues, and the customer is likely to bypass the exluDe list. If you want to make sure that a specific file cannot be accessed, it is best to use the UID / GID option.
Exfude from
Specifies a file name that contains the definition of the Exclude mode, and the server reads the exluDe list definition from the file.
Include
The mode list used to specify multiple RSYNCs separated by spaces and should be exluDe. This is equivalent to using -include in the client command to specify the mode, combined with include and exluDe to define complex ExfUDe / include rules. A module can only specify an incrude option, but you can use "-" and " " in front of the mode to be specified as Exclude or Include.
Include from
Specifies a file name that contains the definition of the include mode, and the server reads the INCLUDE list definition from the file.
Auth user
This option specifies a list of usernames separated by a space or comma, only these users allow the module to be connected. The users and system users here have no relationships. If "Auth users" is set, the client issues a CHALLENGE / RESPONSE authentication protocol that is used by the RSYNC after the connection request to the module. The user's name and password are stored in the file specified in the "Secrets File" option in a clear text. By default, you can connect the module (that is, anonymous mode) without a password.
SECRETS FILE
This option specifies a file that contains defined username: password pair. This file only when "Auth users" is defined. The file contains a username: Passwd pair. Generally, the password is preferably not more than 8 characters. There is no default Secures File name, which requires a restricted specified one. (For example: /etc/rsyncd.secrets)
Strict Modes
This option specifies whether to monitor the password file, if the value value is true, the password file can only be accessed by the RSYNC server, and any other user cannot access the file. The default is TRUE.
Hosts allow
This option specifies which IP customers allow connection to which module is allowed. Customer mode definition can be the following form:
o XXX.xxx.xxx.xxx, the client host only matches the IP to allow access. For example: 192.167.0.1
O a.b.c.d / n, customers belonging to the network allow connection to this module. For example: 192.168.0.0/24
O a.b.c.d / E.f.g.h, customers belonging to the network allow connection to this module. For example: 192.168.0.0/255.255.255.0
o A host name, the client host only has access to the host name, for example: backup.linuxaid.com.cn.
O * .LinuxAid.com.cn, all hosts belonging to this domain are allowed.
By default, all hosts are allowed.
Hosts Deny
Specify the machine that is not allowed to connect to the RSYNC server, you can use the Hosts Allow definition to define. The default is no hosts deny definition.
Ignore ErrorS
Specifies whether RSYNCD ignores IP errors on Server when it is determined whether or not running the transmissions, in general, rsync will skip -dete operation when the IO error occurs, to prevent the temporary resource insufficient or other IO errors. Serious Problem. Ignore Nonreadable
Specifies that the Rysnc server completely ignores files that users do not have access. This is meaningful for some files in the directory you need to back up.
TRANSFER Logging
Enable the RSYNC server using FTP format files to log download and upload operations in your own separate log.
Log Format
The user can customize the fields of the log file by using the TRANSFER Logging. The format is a string containing the format definition, and the format definition that can be used is as follows:
O% h remote host name
O% a remote IP address
O% l file length character number
O% p The process ID of the RSYNC session
OA% O Operation Type: "Send" or "Recv"
O% F file name
O% P module path
O% M module name
O% T Current time
O% u authenticated username (NULL is anonymous)
O% b actually transmitted bytes
O% C When sending a file, the field records the check code of the file.
The default log format is: "% O% H [% a]% M (% U)% f% L", in general, "% T [% P]" is added over each line. A log file with a Perl script called RsyncStats is also published in the source code.
TIMEOUT
Overwrite the IP timeout of the customer by this option. This option ensures that the RSYNC server will never wait for a crash. The timeout unit is second, 0 indicates that there is no timeout definition, which is also the default value. An ideal number is 600 for anonymous Rsync servers.
Refuse Options
This option can define a list of command parameters that do not allow customers to use by the module. Here you must use the command full name, and cannot be referred to. However, the server will report an error message when the situation of rejecting a command is then exited. If you want to prevent the use of compression, it should be: "DONT COMPRESS = *".
DONT COMPRESS
The default value is used to specify the files that do not compress and transmit transmission.
* .gz * .tgz * .zip * .z * .rpm * .deb * .iso * .bz2 * .tbz
rsync customer command
After the end of the RSYNC server configuration, the next step is required to send the RSYNC command in the client to implement backup of the server-side files to the client. Rsync is a very powerful tool that also has a lot of functional options, and we will analyze the options one by one below.
First, rsync's command format can be:
rsync [option] ... src [src] ... [user @] Host: DEST
rsync [option] ... [user @] Host: SRC DEST
rsync [option] ... SRC [SRC] ... DEST
rsync [option] ... [user @] Host :: src [dest]
rsync [option] ... src [src] ... [user @] Host :: DEST
Rsync [option] ... rsync: // [user @] host [: port] / src [dest]
Rsync has six different working modes:
Copy local files; this work mode is launched when SRC and DES path information do not include a single colon ":" separator.
Use a remote Shell program such as RSH, SSH to implement copy of the local machine to the remote machine. Start this mode when the DST path address contains a single colon ":" separator. Use a remote Shell program such as RSH, SSH to implement copying the contents of the remote machine to the local machine. Start this mode when the SRC address path contains a single colon ":" separator.
Copy files from remote RSYNC servers to the local machine. Start this mode when the SRC path information contains "::" separator.
Copy file from the local machine to the remote RSYNC server. When the DST path information contains "::" separator, the mode is started.
Column of the remote machine file list. This is similar to RSYNC transmission, but the local machine information is omitted as long as the local machine information is omitted in the command.
1, usage
When using RSYNC to transfer files, you need to specify a source and one purpose, one of which may be resource information of the remote machine. E.g:
Rsync * .c foo: SRC /
Indicates that all files ended in the current directory to the SRC directory of the machine foo. If any file already exists in a remote system, the remote update protocol is called to implement only those updated files.
Rsync -avz foo: SRC / BAR / DATA / TMP
This command recursively transmits all the contents of the src / bar directory on the machine foo to the local / data / tmp / bar directory. The file is transmitted in archive mode to ensure symbolic link, attribute, permissions, owner's information, etc., are saved in transmission. In addition, compression techniques can be used to speed up data transmission:
Rsync -avz foo: SRC / BAR / / DATA / TMP
The path information is represented by "/" to copy the directory without the end of "/". The difference between these two situations when combined with the -delete option, will be manifested.
It is also possible to use RSYNC in local mode, if there is no ":" symbol in the SRC and DST paths, indicating that the command is running in local mode, equivalent to the CP command.
rsync somehost.mydomain.com ::
This mode will list somehost.mydomain.com. All module information that can be accessed.
Option description
-v, --verbose detailed mode output
-q, --quiet streamlined output mode
-c, --Checksum opens the verification switch, forced file transfer to verify
-A, --Archive archive mode, indicating that the file is transmitted in a recursive manner, and keep all file properties, equal to -RLPTGOD
-r, - Recursive pair subdirectory in recursive mode
-R, --Relative uses relative path information
Rsync foo / bar / foo.c remote: / TMP /
If you create a foo.c file in the / TMP directory, if you use the -R parameter:
rsync -r foo / bar / foo.c remote: / tmp /
The file / TMP / FOO/BAR / FOO.C will be created, that is, the full path information will be maintained.
-b, - backup creates a backup, which is to rename the old file as ~ FileName for the same file name. You can use the --Suffix option to specify a different backup file prefix.
--backup-dir stores the backup file (such as ~ filename) in the directory.
-suffix = SUFFIX Define Backup File Prefix
-u, --Update only updates, that is, skip all existing DSTs, and file time is later than files to be backed up. (Do not cover updated files)
-L, --Links keep soft link
-L, - --copy-links wants to handle soft links as regular files
--copy-unsafe-links only copies the link to the SRC path directory tree
--SAFE-Links ignores links to the SRC path directory tree
-H, --hard-links reserves hard link - P, --Perms keep file permissions
-o, - Weiner Keep file owner information
-g, - Group Keep file group information
-D, - DEVICES hold device file information
-T, --Times Keep file time information
-S, --SPARSE handles sparse files to save DST space
-n, --dry-run realities which files will be transferred
-W, --Whole-File copy file, not incremental detection
-x, - "- file-system Do not cross the file system boundary
-B, --block-size = size test algorithm used by block size, default is 700 bytes
-e, --RSH = Command Specifies the shell program for replacing RSH
--rsync-path = path Specifies the path information of the RSYNC command on the remote server
-C, - CVS-Exclude uses the same way as CVS to automatically ignore files to exclude files that do not want to transfer
--existing only updates files that already exist in DST, without backing up newly created files
-delete deletes files not in the DST SRC
- Delete-Excluded also deletes files that are excluded by this option
- deleted after the end of DELETE-AFTER transmission
--ignore-errors in time, IO error also delete
--Max-delete = NUM deletes NUM files
--Partial keeps those documents that have not been fully transferred for any reason, to speed up the subsequent transfer
--force enforces the deletion of the directory, even if it is empty
Numeric-ids does not match the number of users and group IDs to user names and group names
--Timeout = TIME IP timeout, unit is second
-I, - IGNORE-TIMES does not skippers those with the same time and length
--Size-only When deciding whether or not to back up files, only look at the file size without considering the file time.
--Modify-window = NUM determines whether the file is time-in-time, the timestamp window used, default is 0
-T --Temp-Dir = DIR creates temporary files in DIR
--compare-dest = DIR also compares files in DIR to determine if backups need
-P is equivalent to --Partial
--Progress display backup process
-z, --compress is compressed during transmission of backups
--ExClude = pattern Specifies the file mode that excludes does not require transmission
--NClude = pattern Specifies file mode that does not exclude
--ExClude-from = file excludes files for specified mode in File
- Include-from = file does not exclude files matching file specified mode
--Version print version information
--Address binds to a specific address
--Config = file Specifies other configuration files, do not use the default rsyncd.conf file
--Port = port Specifies another RSYNC service port
- Blocking-IO uses blocking IO for remote shell
-stats gives the transmission status of certain files
- Realistic transmission process during transisms
--Log-format = format Specify log file format
--password-file = file Get a password from the file
--BWLIMIT = KBPS limit I / O bandwidth, KBytes per second
-H, --Help Display Help Information
Case Analysis
There are two servers here: A and B. Where A is the primary web server, with domain name www.linuxaid.com.cn (202.99.11.120), the B server is a backup machine, its domain name is backup.linuxAid.com.cn (202.99.11.121). Where the Web content is stored in the following places: / www / and / home / web_user1 / and / home / web_user2 /. We need to establish backups for these directory contents on the backup machine B. Server configuration instance
Then create the RSyncD profile /etc/rsyncd.conf on www.linuxaid.com.cn, as follows:
UID = Nobody
GID = NoBody
Use chroot = no
Max connections = 4
Pid file = /VAR/Run/rsyncd.pid
Lock file = /VAR/run/rsync.lock
Log file = /VAR/LOG/Rsyncd.log
[www]
PATH = / WWW /
Ignore ErrorS
r on = true = TRUE
List = false
Hosts allow = 202.99.11.121
Hosts deny = 0.0.0.0/32
Auth users = backup
SECRETS file = /etc/backserver.pas
[Web_User1]
PATH = / home / web_user1 /
Ignore ErrorS
r on = true = TRUE
List = false
Hosts allow = 202.99.11.121
Hosts deny = 0.0.0.0/32
Uid = Web_User1
GID = Web_User1
Auth users = backup
SECRETS file = /etc/backserver.pas
[Web_User2]
PATH = / home / web_user2 /
Ignore ErrorS
r on = true = TRUE
List = false
Hosts allow = 202.99.11.121
Hosts deny = 0.0.0.0/32
Uid = Web_User2
GID = Web_User2
Auth users = backup
SECRETS file = /etc/backserver.pas
There are four three modules defined here, respectively correspond to three directory trees that require backups. This only allows 202.99.11.121 to back up the data of the unit and require authentication. Both the three modules authorized backup users are backup, and the user information is saved in file /etc/backserver.pas, and its contents are as follows:
Backup: bk_passwd
And the file can only be readwritten by root users, otherwise rsyncd will be erroneously started. After these files are configured, you need to start the RSYNCD server on the A server:
Rsync - Daemon
Customer command example
/ usr / local / bin / rsync -vzrtopg - Delete --ExClude "logs /" --exclude "conf / ssl. * /" --Progress backup@202.99.11.120 :: www / backup / www / --password -file = / etc / rsync.pass
The above this command line is Verbose, z is compressed, R is Recursive, and TOPG is the original attribute of the file, such as the host, time parameter. --Progress refers to a detailed schedule, - delete means that the client also deletes the file accordingly if the server is deleted, and the client is also deleted and remains true. --ExClude "logs /" means that the files do not perform files in the / www / logs directory are backed up. --ExClude "conf / ssl. * /" means that the files do not perform files in /www/conf/ssl.*/ directory are backed up. Backup@202.99.11.120 :: WWW indicates that the command is backup for the WWW module in Server 202.99.11.120, and Backup represents the module to back up the module using Backup.
--Password-file = / etc / rsync.pass to specify a password file so that you can use it in the script without entering the verification password, you need to pay attention to this password file authority property To set only root Readable.
Here you will store the backup content in the backup machine / backup / www / directory.
[root @ Linuxaid /] # / usr / local / bin / rsync -vzrtopg - Delete --ExClude "logs /" --ExClude "conf / ssl. * /" --Progress backup@202.99.11.120 :: www / Backup / www / --password-file = / etc / rsync.pass
Receiving File List ... DONE
./
1
785 (100%)
1PY
4086 (100%)
2.py
10680 (100%)
a
0 (100%)
IP
3956 (100%)
./
Wrote 2900 bytes read 145499 bytes 576.34 bytes / sec
Total Size IS 2374927 Speedup IS 45.34
Commands for operations for other two modules are:
/ usr / local / bin / rsync -vzrtopg - Delete --Progress Backup@202.99.11.120 :: Web_user1 / backup / web_user1 / --password-file = / etc / rsync.pass
/ usr / local / bin / rsync -vzrtopg - Delete --Progress Backup@202.99.11.120 :: Web_user2 / backup / web_user2 / --password-file = / etc / rsync.pass
You can automate automatic backup through the crontab -e command, such as crontab -e:
Some example scripts
These scripts here are examples on the RSYNC website:
1, add data to the center server every seven days to increase backup
#! / bin / sh
# This Script Does Personal Backups to a rsync backup server. You will end up
# with a 7 day Rotating Incremental Backup. The incrementals Will Go
# ion in subdirectories named after the day of the week, and the current
# Full Backup Goes Into A Directory Called "Current"
# Tridge@linuxcare.com
# Directory to Backup
BDIR = / home / $ user # Excludes File - this Contains a Wildcard Pattern Per line of files to excede
Excludes = $ home / cron / excluded
# The name of the backup machine
BSERVER = OWL
# Your Password on the Backup Server
Export Rsync_password = xxxxxx
##################################################################################
Backupdir = `Date % a`
OPTS = "- force - teleore-errors - Delete-Excluded - Exclude-from = $ EXCLUDES
--delete --backup --backup-dir = / $ backupdir -a "
Export Path = $ PATH: / BIN: / USR / BIN: / USR / local / bin
# The following line clears the last weeks incremental Directory
[-D $ homen / emptydir] || Mkdir $ Home / Emptydir
Rsync - Delete -a $ HOME / EMPTYDIR / $ BSERVER :: $ USER / $ BACKUPDIR /
RMDIR $ HOME / EMPTYDIR
# Now the actual transfer
Rsync $ OPTS $ BDIR $ BSERVER :: $ USER / CURRENT
2, back up to an idle hard disk
#! / bin / sh
Export Path = / usr / local / bin: / usr / bin: / bin
List = "rootfs usr data data2"
For D in $ list; do
Mount / Backup / $ D
rsync -ax --Exclude fstab - Delete / $ D / / BACKUP / $ D /
Umount / Backup / $ D
DONE
Day = `Date" % a "`
Rsync -a - Delete / USR / Local / Apache / Data2 / Backups / $ Day
Rsync -a - Delete / Data / Solid / Data2 / Backups / $ Day
3, mirroring the CVS tree of Vger.rutgers.edu
#! / bin / bash
CD / VAR / WWW / CVS / VGER /
Path = / usr / local / bin: / usr / freeware / bin: / usr / bin: / bin
Run = `lps x | grep rsync | grep -v grep | wc -l`
IF ["$ RUN" -gt 0]; then
Echo already running
EXIT 1
Fi
Rsync -az vger.rutgers.edu::cvs/cvsroot/changelog $ homen / channelelog
Sum1 = `Sum $ homen / channelelog`
Sum2 = `sum / var / www / cvs / vger / cvsroot / channelelog`
IF [$ SUM1 "=" $ SUM2 "]; then
Echo Nothing to do
EXIT 0
Fi
Rsync -az --delete --force vger.rutgers.edu::cvs/ / var / www / cvs / vger / exit 0
FAQ
Q: How to make RSYNC via SSH, and do not need to enter a password?
A: You can pass the following steps
1. Create SSH Keys on Server A via ssh-keygen, do not specify a password, you will see Identity and Identity.pub files at ~ / .ssh
2. HOME directory on Server B creates a subdirectory .ssh
3. Copy a Identity.pub on Server B
4. Add Identity.pub to ~ [User B] /. Ssh / authorized_keys
5. So the A user on Server A can be on User B SSH to Server B by the following command.
E.G. SSH -L Userb Serverb
This allows the user A on Server A to log in to Server B without a password without a password in the identity of User B.
Q: How to use rsync through the firewall through the firewall without harm security?
A: Answer as follows:
This usually has two situations, one is the server in the firewall, one is the server outside the firewall. Either case, usually use SSH, it is best to create a backup user, and configure SSHD only allowing this user to enter by RSA authentication. If the server is in the firewall, it is best to qualify the client's IP address to reject all other connections. If the client is in the firewall, you can simply allow the firewall to open the SSH proof connection of the TCP port 22.
Q: Can I back up the files that have changed or deleted?
A: Of course you can:
You can use: rsync -other -options -backupdir = ./backup-2000-2-13 ... such commands.
This, if the source file: /path/to/some/file.c changed, then the old file will be moved to ./backup-2000-2-13/path/to/some/file.c,
This directory here needs to be manually established.
Q: What port I need to open on the firewall to adapt to rsync?
A: Depending on the situation
RSYNC can communicate directly through the 873 port of the TCP connection file, or can be passed through the SSH of the 22-port, but you can also change its port by the following command:
Rsync --port 8730 OtherHost ::
or
rsync -e 'ssh -p 2002' OtherHost:
Q: How do I copy a directory structure through rsync, ignore the file?
A: rsync -av - include '* /' --exclude '*' Source-Dir dest-Dir
Q: Why do I always have the "read-only file system" error?
A: See if I forgot to set "read only = no"
Q: Why do I appear '@Error: Invalid GID'?
A: Rsync is used by default to run with uid = nobody; gid = nobody, if your system does not exist, there is such an error, you can try GID = NOGROUP or other
Q: What is the failure of binding port 873?
A: If you are not running this daemon with root privilege, because 1024 ports are the privileged ports, such errors will appear. You can change it with - port parameters. Q: Why do I have failed?
A: From your command line:
You are using:
> Bash $ r yn 144.16.251.213::test test
> Password:
> @ERROR: Auth failed on module test
>
> I Dont Understand this. Can Somebody Explain as to how to attomplish this.
> All suggestions are well.
It should be the problem that is not landed in your username, try rsync -a max@144.16.251.213 :: test test