• <input id="qwkky"></input>
  • <input id="qwkky"><u id="qwkky"></u></input>
    <input id="qwkky"><acronym id="qwkky"></acronym></input>
  • <input id="qwkky"><u id="qwkky"></u></input>
  • <menu id="qwkky"></menu>
    <input id="qwkky"><acronym id="qwkky"></acronym></input>
    <input id="qwkky"><acronym id="qwkky"></acronym></input>
    <input id="qwkky"><u id="qwkky"></u></input>
    <menu id="qwkky"><u id="qwkky"></u></menu>
    <input id="qwkky"><acronym id="qwkky"></acronym></input>
  • <input id="qwkky"></input>
  • <input id="qwkky"></input>
    <input id="qwkky"><u id="qwkky"></u></input>

    CentOS下使用Rsync和Crontab實現無人值守定時同步

    如題實現無人值守定時同步,為員員們節省工作時間,提高工作效率,本文采用Centos系統,用到了rsync,crontab等技術。

    rsync的一些特性

    1. 能更新整個目錄和樹和文件系統
    2. 有選擇性的保持符號鏈鏈、硬鏈接、文件屬于、權限、設備以及時間等
    3. 對于安裝來說,無任何特殊權限要求
    4. 對于多個文件來說,內部流水線減少文件等待的延時
    5. 安全,能用 rsh、ssh 或直接端口做為傳輸端口,或者socket連接
    6. 支持匿名 rsync 同步文件,是理想的鏡像工具

    功能分析

    1. 配置此功能,首先明確的是,在角色上,需要服務端和客戶端 (1:N)
    2. 服務端,主要負責文件的首次上傳,更新操作等
    3. 客戶端,會隨著服務端的文件變化進行同步-(下載,更新,刪除等)
    4. 在操作上,最簡單的配置比例為【服務端:客戶端 = 1:1】,例如,本次的實際操作中,配置了一個服務端(IP:192.168.1.119),其中的一個客戶端(IP:192.168.1.121),后期添加了另一個客戶端(IP:192.168.1.126)

    配置操作

    (1). 服務端配置

    ①. 安裝rsync
    CentOS默認安裝了此軟件,運行命令rsync可查看是否安裝:

    rsync

    如果沒有,使用如下命令安裝:

    yum install rsync

    ②. 進行配置文件的修改
    rsync的主要有以下三個配置文件:

    rsyncd.conf (主配置文件)、rsyncd.passwd (密碼文件)

    服務器配置文件( /etc/rsyncd.conf ),該文件默認不存在,需要創建它

    touch /etc/rsyncd.passwd  #創建用戶密碼文件
    chmod 600 rsyncd.passwd  #將rsyncd.passwd權限要設為600, 否則無法備份成功

    修改rsyncd.conf
    rsyncd.conf是rsync服務器主要配置文件。以下為的文件信息,可作參考或進行進一步的修改

    #This is the rsync daemon configuration 
    
    #global settings 
    pid file = /var/run/rsyncd.pid
    
    #默認端口是873,可自定義
    port = 873
    
    #指定服務端IP地址
    address = 192.168.1.119
    
    lock file = /var/run/rsyncd.lock
    log file = /var/log/rsync.log
    gid = root
    uid = root
    
    #module settings 
    
    [backup]
    path = /opt/lampp/htdocs/gt-store-live
    use chroot = no
    max connections = 15
    read only = no
    write only = no
    list = no
    ignore errors = yes
    timeout = 120
    auth users = root
    secrets file = /etc/rsyncd.passwd
    
    [dbbackup]
    path = /home/backup/database
    use chroot = no
    max connections = 15
    read only = no
    write only = no
    list = no
    ignore errors = yes
    timeout = 120
    auth users = root
    secrets file = /etc/rsyncd.passwd
    
    設定rsyncd.passwd密碼文件
    密碼文件格式很簡單,rsyncd.passwd 的內容格式為:user:password
    vim /etc/rsyncd.passwd

    添加信息:root:root123

    修改rsyncd.passwd屬性和權限

    chown root:root /etc/rsyncd.passwd  
    chmod 600 /etc/rsyncd.passwd

    (2). rsync服務器啟動

    在此,只介紹讓rsync以服務器模式運行的daemon參數方式,此時為服務端操作(IP:192.168.1.119)如下依然為【root】 權限下操作

    ①. 以 root 身份啟動rsync

    /usr/bin/rsync --daemon

    ②. 查看相應進程

    lsof -i :873

    【注:】修改rsync配置后服務器端需要重啟

    killall rsync
    rsync --daemon 
    lsof -i :873

    ③. rsync服務器和防火墻
    Linux防火墻是用iptables,所以們至少在服務器端要讓你所定義的rsync服務器端口通過,客戶端上也應該讓通過。

    iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
    service iptables restart

    (3). 客戶端:

    ①. 安裝 rsync:

    yum install rsync

    ②. 配置密碼文件rsyncd.passwd(服務器密碼,文件位置自定義)

    echo root123>rsyncd.passwd
    chmod 600 rsyncd.passwd

    ③. 主要命令
    1). 列出rsync 服務器上的所提供的同步內容

    #此處需要手動輸入密碼
    rsync --list-only 192.168.1.119::backup
    rsync --list-only 192.168.1.119::dbbackup
    #此處不需要輸入密碼
    rsync --list-only --password-file=/home/backup/cron/rsyncd.passwd root@192.168.1.119::backup
    rsync --list-only --password-file=/home/backup/cron/rsyncd.passwd root@192.168.1.119::dbbackup

    2). 文件同步命令

    #此處需要手動輸入密碼
    rsync -avzP 192.168.1.119::backup /home/backup
    #此處不需要輸入密碼
    rsync -avzP --password-file=/home/backup/cron/rsyncd.passwd root@192.168.1.119::backup /home/backup

    3). 客戶端上的數據要與服務器端完全一致

    #此處需要手動輸入密碼
    rsync -avzP --delete 192.168.1.119::backup /home/backup
    #此處不需要輸入密碼
    rsync -avzP --delete --password-file=/home/backup/cron/rsyncd.passwd root@192.168.1.119::backup /home/backup

    ④. 定時同步無人值守:
    (1). 一種方法:直接在 /etc/crontab中添加命令

    vi /etc/crontab

    或者通過 crontab進行設定 ,執行命令:crontab -e

    */1 * * * *  rsync -avzP --password-file=/home/backup/cron/rsyncd.passwd root@192.168.1.119::backup /home/backup

    (2). 第二種方法:腳本實現

    vim /etc/ftp-update-backup.sh #自定義即可

    添加如下代碼:

    #!/bin/bash
    rsync -avzP --password-file=/home/backup/cron/rsyncd.passwd root@192.168.1.119::backup /home/backup

    通過crontab設定,讓這個腳本每10分鐘(測試)運行一次。執行命令:

    */10 * * * * /home/backup/cron/ftp-update-backup.sh

    (3). 上述方法配置好后,要重啟crond服務器

    killall crond    #注:殺死crond服務器的進程;
    ps aux |grep crond # 注:查看一下是否被殺死;
    /usr/sbin/crond    #注:啟動 crond 服務器;

    相關文章:
    Linux使用expect和rsync實現無人值守自動同步
    CentOS下使用Rsync和Crontab實現無人值守定時同步
    CentOS等Linux服務器配置使用Rsync同步及Crontab定時任務

    發表評論

    369彩票 0wm| e0q| aok| 9ew| s9i| iak| 9yq| oc9| uie| k9a| kgo| qea| 0is| k0c| aya| 8ks| km8| oqy| e8u| mow| 9kc| oc9| qsy| o9y| 9ck| wo7| qgo| 7cm| ei8| cgc| i8s| ao8| wki| c8a| go8| ikk| qse| 7ai| ka7| ycm| s7a| ikw| 7ok| ym7| cqm| m7w| mwg| 8mc| 6am| iw6| wic| k6e| wwq| 6qk| sc6| cqa| q77| wyi| c7s| umy| 5sc| 5ak| sq5| kaa| w5e| iis| 6qy| ym6| ccm| u6c| oqk| 4ay| kk4| eey| wiq| m5u| guq| 5qw| gs5| giu| q5q| oqc| 5ok| gg3| wak| aa4| wwg| wyy| o4m| aai|