美文网首页
Linux 运维学习笔记+暑期项目学习

Linux 运维学习笔记+暑期项目学习

作者: fables008 | 来源:发表于2019-07-12 16:37 被阅读0次

    rsync--Remote synchronization

    • 解释:远程同步工具促使本地和远程文件同步,且只更新两个文件不一样的部分。
    特点 描述
    快速 第一次全部复制,以后只传输更改的文件,传输过程可压缩和解压缩
    安全 支持SSH等方式传输
    便捷 支持匿名传输,以便维护,无需特殊权限也可安装
    友好 保存源文件时间、权限等
    
    sudo apt-get install rsync #安装rsync,我们已经装好了,而且我也没有权限
    rsync -r SRC archive.raspbian.org/raspbian/dists/buster/main/binary-armhf/Packages.gz
    
    
    rsync is a file transfer program capable of efficient remote update
    via a fast differencing algorithm.
    
    Usage: rsync [OPTION]... SRC [SRC]... DEST
      or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
      or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
      or   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
      or   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)
     -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.0]
    
    

    阿里云OSS

    阿里云对象存储服务(Object Storage Service,简称 OSS)。阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 12 个 9,服务设计可用性(或业务连续性)不低于 99.995%。
    提供RESTful API接口,如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构,它是目前比较流行的设计规范,了解它可以参考[4]。
    可使用阿里云提供的 API、SDK 接口或者 OSS 迁移工具将数据转移到阿里云 OSS,提供三种不同频次的存储方式。

    存储类型

    阿里云OSS存储类型比对图
    其中前两种存储类型支持的API一样全面,archive归档存储并不支持PutBucketWebsite和GetBucketWebsite,这里我们不需要用,详细可以查看[5]
    存储空间(Bucket)
    用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。
    收费方式和计费内容
    费用组成
    计费方式分为按量付费和包年包月:
    • 按量付费:按实际使用量*单价的方式计费,每小时统计前一小时的实际用量并从账户余额中扣除实际消费金额。例如,当前时间是 9:30,结算的是 8:00-9:00 产生的费用。所有计费方式都支持按量,例如存储空间为0.12/0.08/0.033GB每月。
    • 包年包月:预先购买指定资源包,之后使用资源时,扣除相应的额度。一般情况下,包年包月比按量付费更加优惠。资源包目前仅提供标准型存储包、低频型存储包、归档型存储包、下行流量包、 回源流量包,可购买地域请参见购买对象存储OSS资源包

    详细的价格计算:阿里云定价
    例如内地公共云100G的标准存储包年费99,下行流量100G年费441,请求费用1毛/万次,如果OSS服务产生的费用中外网流量费用占比较大,可以搭配使用阿里云CDN服务。

    参考资料

    1. rsync 的使用方法
    2. 日常运维--rsync同步工具
    3. 阿里云OSS帮助文档
    4. RESTful 架构详解

    相关文章

      网友评论

          本文标题:Linux 运维学习笔记+暑期项目学习

          本文链接:https://www.haomeiwen.com/subject/kpnekctx.html