arm linux rsync文件同步
參考文章1:服務器之間文件自動拷貝用什么技術好? - 運維朱工的回答 - 知乎
參考文章2:rsync(一):基本命令和用法
參考文章3:CentOS7配置rsync實現文件同步
rsync同步過程中由兩部分模式組成:決定哪些文件需要同步的檢查模式以及文件同步時的同步模式。
rsync daemon
rsync daemon是"rsync --daemon"或再加上其他一些選項啟動的,它會讀取配置文件,默認是/etc/rsyncd.conf,并默認監聽在873端口上,當外界有客戶端對此端口發起連接請求,通過這個網絡套接字就可以完成連接,以后與該客戶端通信的所有數據都通過該網絡套接字傳輸。
rsync daemon的通信方式和傳輸通道與遠程shell不同。遠程shell連接的兩端是通過管道完成通信和數據傳輸的,即使連接的一端是遠程主機,當連接到目標端時,將在目標端上根據遠程shell進程fork出rsync進程使其成為rsync server。而rsync daemon是事先在server端上運行好的rsync后臺進程(根據啟動選項,也可以設置為非后臺進程),它監聽套接字等待client端的連接,連接建立后所有通信方式都是通過套接字完成的。
注意,rsync中的server的概念從來就不代表是rsync daemon,server在rsync中只是一種通用稱呼,只要不是發起rsync請求的client端,就是server端,你可以認為rsync daemon是一種特殊的server,其實daemon更應該稱之為service。(之所以解釋這一點,是避免各位初學的朋友在閱讀man rsync過程中產生誤解)
還是不懂怎么用,看看B站視頻吧!
看兩個視頻壓壓驚先:
【司波圖】穩定異地備份不是夢,最“簡單”的文件同步軟件RSYNC實戰教學攻略
rsync結合inotify實現文件實時同步
我的ubuntu上居然已經裝了rsync
[yg@ubuntu ~]1$ rsync rsync version 3.1.1 protocol version 31 Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ Capabilities:64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,append, ACLs, xattrs, iconv, symtimes, preallocrsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details.rsync is a file transfer program capable of efficient remote update via a fast differencing algorithm.Usage: rsync [OPTION]... SRC [SRC]... DESTor rsync [OPTION]... SRC [SRC]... [USER@]HOST:DESTor rsync [OPTION]... SRC [SRC]... [USER@]HOST::DESTor rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DESTor rsync [OPTION]... [USER@]HOST:SRC [DEST]or rsync [OPTION]... [USER@]HOST::SRC [DEST]or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] The ':' usages connect via remote shell, while '::' & 'rsync://' usages connect to an rsync daemon, and require SRC or DEST to start with a module name.Options-v, --verbose increase verbosity--info=FLAGS fine-grained informational verbosity--debug=FLAGS fine-grained debug verbosity--msgs2stderr special output handling for debugging-q, --quiet suppress non-error messages--no-motd suppress daemon-mode MOTD (see manpage caveat)-c, --checksum skip based on checksum, not mod-time & size-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)--no-OPTION turn off an implied OPTION (e.g. --no-D)-r, --recursive recurse into directories-R, --relative use relative path names--no-implied-dirs don't send implied dirs with --relative-b, --backup make backups (see --suffix & --backup-dir)--backup-dir=DIR make backups into hierarchy based in DIR--suffix=SUFFIX set backup suffix (default ~ w/o --backup-dir)-u, --update skip files that are newer on the receiver--inplace update destination files in-place (SEE MAN PAGE)--append append data onto shorter files--append-verify like --append, but with old data in file checksum-d, --dirs transfer directories without recursing-l, --links copy symlinks as symlinks-L, --copy-links transform symlink into referent file/dir--copy-unsafe-links only "unsafe" symlinks are transformed--safe-links ignore symlinks that point outside the source tree--munge-links munge symlinks to make them safer (but unusable)-k, --copy-dirlinks transform symlink to a dir into referent dir-K, --keep-dirlinks treat symlinked dir on receiver as dir-H, --hard-links preserve hard links-p, --perms preserve permissions-E, --executability preserve the file's executability--chmod=CHMOD affect file and/or directory permissions-A, --acls preserve ACLs (implies --perms)-X, --xattrs preserve extended attributes-o, --owner preserve owner (super-user only)-g, --group preserve group--devices preserve device files (super-user only)--specials preserve special files-D same as --devices --specials-t, --times preserve modification times-O, --omit-dir-times omit directories from --times-J, --omit-link-times omit symlinks from --times--super receiver attempts super-user activities--fake-super store/recover privileged attrs using xattrs-S, --sparse handle sparse files efficiently--preallocate allocate dest files before writing them-n, --dry-run perform a trial run with no changes made-W, --whole-file copy files whole (without delta-xfer algorithm)-x, --one-file-system don't cross filesystem boundaries-B, --block-size=SIZE force a fixed checksum block-size-e, --rsh=COMMAND specify the remote shell to use--rsync-path=PROGRAM specify the rsync to run on the remote machine--existing skip creating new files on receiver--ignore-existing skip updating files that already exist on receiver--remove-source-files sender removes synchronized files (non-dirs)--del an alias for --delete-during--delete delete extraneous files from destination dirs--delete-before receiver deletes before transfer, not during--delete-during receiver deletes during the transfer--delete-delay find deletions during, delete after--delete-after receiver deletes after transfer, not during--delete-excluded also delete excluded files from destination dirs--ignore-missing-args ignore missing source args without error--delete-missing-args delete missing source args from destination--ignore-errors delete even if there are I/O errors--force force deletion of directories even if not empty--max-delete=NUM don't delete more than NUM files--max-size=SIZE don't transfer any file larger than SIZE--min-size=SIZE don't transfer any file smaller than SIZE--partial keep partially transferred files--partial-dir=DIR put a partially transferred file into DIR--delay-updates put all updated files into place at transfer's end-m, --prune-empty-dirs prune empty directory chains from the file-list--numeric-ids don't map uid/gid values by user/group name--usermap=STRING custom username mapping--groupmap=STRING custom groupname mapping--chown=USER:GROUP simple username/groupname mapping--timeout=SECONDS set I/O timeout in seconds--contimeout=SECONDS set daemon connection timeout in seconds-I, --ignore-times don't skip files that match in size and mod-time-M, --remote-option=OPTION send OPTION to the remote side only--size-only skip files that match in size--modify-window=NUM compare mod-times with reduced accuracy-T, --temp-dir=DIR create temporary files in directory DIR-y, --fuzzy find similar file for basis if no dest file--compare-dest=DIR also compare destination files relative to DIR--copy-dest=DIR ... and include copies of unchanged files--link-dest=DIR hardlink to files in DIR when unchanged-z, --compress compress file data during the transfer--compress-level=NUM explicitly set compression level--skip-compress=LIST skip compressing files with a suffix in LIST-C, --cvs-exclude auto-ignore files the same way CVS does-f, --filter=RULE add a file-filtering RULE-F same as --filter='dir-merge /.rsync-filter'repeated: --filter='- .rsync-filter'--exclude=PATTERN exclude files matching PATTERN--exclude-from=FILE read exclude patterns from FILE--include=PATTERN don't exclude files matching PATTERN--include-from=FILE read include patterns from FILE--files-from=FILE read list of source-file names from FILE-0, --from0 all *-from/filter files are delimited by 0s-s, --protect-args no space-splitting; only wildcard special-chars--address=ADDRESS bind address for outgoing socket to daemon--port=PORT specify double-colon alternate port number--sockopts=OPTIONS specify custom TCP options--blocking-io use blocking I/O for the remote shell--stats give some file-transfer stats-8, --8-bit-output leave high-bit chars unescaped in output-h, --human-readable output numbers in a human-readable format--progress show progress during transfer-P same as --partial --progress-i, --itemize-changes output a change-summary for all updates--out-format=FORMAT output updates using the specified FORMAT--log-file=FILE log what we're doing to the specified FILE--log-file-format=FMT log updates using the specified FMT--password-file=FILE read daemon-access password from FILE--list-only list the files instead of copying them--bwlimit=RATE limit socket I/O bandwidth--outbuf=N|L|B set output buffering to None, Line, or Block--write-batch=FILE write a batched update to FILE--only-write-batch=FILE like --write-batch but w/o updating destination--read-batch=FILE read a batched update from FILE--protocol=NUM force an older protocol version to be used--iconv=CONVERT_SPEC request charset conversion of filenames--checksum-seed=NUM set block/file checksum seed (advanced)--noatime do not alter atime when opening source files-4, --ipv4 prefer IPv4-6, --ipv6 prefer IPv6--version print version number (-h) --help show this help (-h is --help only if used alone)Use "rsync --daemon --help" to see the daemon-mode command-line options. Please see the rsync(1) and rsyncd.conf(5) man pages for full documentation. See http://rsync.samba.org/ for updates, bug reports, and answers rsync error: syntax or usage error (code 1) at main.c(1556) [client=3.1.1] [yg@ubuntu ~]2$我這發現我們的linux ubuntu和arm都有scp,要不都用scp得了??不用rsync了
總結
以上是生活随笔為你收集整理的arm linux rsync文件同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言字符串拼接函数:strcat()
- 下一篇: VMWare虚拟机打不开、繁忙无法关闭、