zoukankan      html  css  js  c++  java
  • rsync本地同步

    rsync本地备份

    制作异地镜像站点

    目的:为异地备份做好准备工作
    

    rsync原理

    rsync远程传数据可以简单总结成三步
    1、先验证用户身份
    2、检查源路径到底需要哪些文件
    3、传输
    

    rsync总结

    1、耗费cpu资源
    2、源路径下如果是频繁改动的,rsync不适合,比如数据库文件
    3、不适合同步大文件
    

    软硬链接的区别

    脚本使用(解读)

    #!/bin/bash
    set -o errexit	#脚本发生错误就终止运行,不是一声不响的继续往下执行
    set -o nounset	#在shell中,遇到变量不存在,会输出为空,继续执行代码
    				#开启了nounset选项后,脚本若是碰到变量定义会报错并且终止运行
    set -o pipefail	#上面的选项errexit针对管道是无效的,这个针对管道
    
    readonly SOURCE_DIR="/opt"	#备份的源目录
    readonly TARGET_START_DIR="/egon/backups"	#目标目录的起始目录
    readonly TARGET_DIR="${TARGET_START_DIR}/$(date '+%Y-%m-%d_%H:%M:%s')"	#目标目录
    readonly LATEST_LINK="${TARGET_START_DIR}/latest"	#基准目录
    
    mkdir -p "${TARGET_START_DIR}"	#先把目标目录的起始目录创建好
    
    rsync -av --delete 
    "${SOURCE_DIR}/" 
    --link-dest "${LATEST_LINK}" 
    --exclude=".cache" 
    "${TARGET_DIR}"
    
    #删除基准目录LATEST_LINK,然后将最近一次备份的目录链接到LATEST_LINK作为下一次的基准目录
    rm -rf "${LATEST_LINK}"
    ln -s "${TARGET_DIR}" "${LATEST_LINK}"
    

    脚本模板

    #!/bin/bash
    set -o errexit
    set -o nounset
    set -o pipefail
    
    readonly SOURCE_DIR="源目录"
    readonly TARGET_START_DIR="目标目录的起始目录"
    readonly TARGET_DIR="${TARGET_START_DIR}/$(date '+%Y-%m-%d_%H:%M:%s')"	#目标目录
    readonly LATEST_LINK="${TARGET_START_DIR}/latest"	#基准目录
    
    mkdir -p "${TARGET_START_DIR}"
    
    rsync -av --delete 
    "${SOURCE_DIR}/" 
    --link-dest "${LATEST_LINK}" 
    --exclude=".cache" 
    "${TARGET_DIR}"
    
    #删除基准目录LATEST_LINK,然后将最近一次备份的目录链接到LATEST_LINK作为下一次的基准目录
    rm -rf "${LATEST_LINK}"
    ln -s "${TARGET_DIR}" "${LATEST_LINK}"
    
  • 相关阅读:
    灵活读取Configuration文件
    Web页面访问权限
    母版页(MasterPage),你真得了解了吗?
    基于对象和面向对象
    [翻译]Silverlight 3中的tooltip
    2009年自我总结
    W3C CSS Validator 更喜欢CSS文件以一个class开头而不是注释?
    【翻译】读取文本文件(txt、csv、log、tab、fixed length)(上)
    1z0062 题库解析2
    1z0062 题库解析3
  • 原文地址:https://www.cnblogs.com/zhaokunhao/p/14678791.html
Copyright © 2011-2022 走看看