nighty

          折騰的年華
          posts - 37, comments - 143, trackbacks - 0, articles - 0

          2013年4月9日

          系統(tǒng)為ubuntu server,二臺(tái)機(jī)器A和B,IP為A 192.168.1.111,B 192.168.1.222
          A為rsync server,啟動(dòng)為守護(hù)進(jìn)程,B為備份機(jī),做為rsync client,最后用crontab做一個(gè)簡(jiǎn)單的作業(yè),定時(shí)在B上執(zhí)行同步文件的功能
          A的安裝和配置如下:
          1.  apt-get install rsync   可能提示系統(tǒng)已經(jīng)安裝有了
          2. 配置文件/etc/rsyncd.conf
              默認(rèn)安裝時(shí)是不會(huì)有這個(gè)配置文件的,但是可以 cp /usr/share/doc/rsync/examples/rsyncd.conf /etc  把它示例中的配置文件拷貝過來(lái)
              vi /etc/rsyncd.conf    這里參數(shù)有點(diǎn)多,但是有些可以先不管,關(guān)注重點(diǎn)的
              [ftp]  這里是模塊,可以配置多個(gè),這個(gè)是系統(tǒng)默認(rèn)給出的一個(gè)配置,下面給一個(gè)本機(jī)上的配置示例:
          --------------------------------------------------------------------------------------------------
          # so omit the "pid file" line completely in that case.
          pid file=/var/run/rsyncd.pid
          #syslog facility=daemon
          #socket options=
          # MODULE OPTIONS
          [share]
          comment = public archive
          path = /var/www/pub
          use chroot = no
          max connections=2
          # lock file = /var/lock/rsyncd
          # the default for read only is yes...
          read only = no
          list = yes
          uid = nobody
          gid = nogroup
          # exclude = 
          # exclude from = 
          # include =
          # include from =
          auth users = rsync
          secrets file = /etc/rsyncd.secrets
          strict modes = yes
          hosts allow = 192.168.1.222
          # hosts deny =
          ignore errors = yes
          ignore nonreadable = yes
          transfer logging = yes
          log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
          timeout = 600
          refuse options = checksum dry-run
          dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
          ---------------------------------------------------------------------------------------------
          這里,最上面的是pid文件位置。然后配置了一個(gè)模塊名叫做share,最大連接數(shù)是2,read only = no,指定為非只讀(不然同步時(shí)會(huì)有權(quán)限問題)
          而后面的auth users = rsync 是指定一個(gè)同步的賬戶名叫做rsync,這個(gè)賬戶的認(rèn)證文件是/etc/rsyncd.secrets,當(dāng)然我們要?jiǎng)?chuàng)建這個(gè)文件

          3.  創(chuàng)建 /etc/rsyncd.secrets文件,內(nèi)容為: rsync:123  表示rsync這個(gè)用戶的密碼是123 然后修改文件的權(quán)限 chmod 600 /etc/rsyncd.secrets

          4.  rsync server做為守護(hù)進(jìn)程
               vi /etc/default/rsync
               可以看到開頭處這樣聲明:
          ------------------------------------
          # start rsync in daemon mode from init.d script?
          #  only allowed values are "true", "false", and "inetd"
          #  Use "inetd" if you want to start the rsyncd from inetd,
          #  all this does is prevent the init.d script from printing a message
          #  about not starting rsyncd (you still need to modify inetd's config yourself).
          RSYNC_ENABLE=inetd
          -------------------------------------------
             做為守護(hù)進(jìn)程,可以設(shè)置為true或是xinetd方式來(lái)啟動(dòng)。于是我們安裝inetd   sudo apt-get install xinetd
             安裝好后配置inetd的配置文件  vi /etc/xinetd.d/rsync ,輸入如下內(nèi)容:
          ---------------------------------------------------
          service rsync
          {
              disable = no
              socket_type = stream
              wait = no
              user = root
              server = /usr/bin/rsync
              server_args = --daemon
              log_on_failure += USERID
          }
          -------------------------------------------------------
          然后啟動(dòng)xinetd,/etc/init.d/xinetd restart,A服務(wù)器的rsyncd server就完成了!

          5.  B服務(wù)器由于是client,不需要配置,也不需要安裝xinetd,直接可以通過命令行執(zhí)行
          rsync --delete -azvv rsync@192.168.1.111::share /var/www/pub/
          這個(gè)命令就可以直接連接到192.168.111的rsync賬戶,它會(huì)提示你輸入密碼,就是A中的secrets文件中的密碼,然后同步share模塊到本機(jī)的/var/www/pub目錄,你可以事前在A機(jī)器上創(chuàng)建一個(gè)文件如test.txt,隨便寫點(diǎn)內(nèi)容,然后執(zhí)行些命令,看是不是B上多了這樣一個(gè)文件?如果是,則表示已經(jīng)連接成功。你接下來(lái)就可以做crontab了!

          posted @ 2013-04-12 12:23 寒武紀(jì) 閱讀(1347) | 評(píng)論 (0)編輯 收藏

          二臺(tái)服務(wù)器,A的內(nèi)網(wǎng)IP為192.168.1.111,B的內(nèi)網(wǎng)IP為192.168.1.222,A做為master,B做為Slave
          1.  配置A的Mysql
               (1)  vim /etc/mysql/my.cnf
                     去掉[mysqld]段中 server_id =1 和log_bin=/var/log/mysql/mysql-bin.log的#注釋
                     加上  binlog-do-db = s3     s3就是要同步的數(shù)據(jù)庫(kù)的名稱,如果沒有這一行,表示同步所有的數(shù)據(jù),另外 binlog_ignore_db = mysql。要表示忽略同步的數(shù)據(jù)庫(kù)名稱為mysql,如果有多個(gè)要指定同步或是忽略同步的數(shù)據(jù),就配置多行,保存退出。
               (2) 創(chuàng)建一個(gè)復(fù)制用的賬戶(名稱為repl,允許從遠(yuǎn)程連接,密碼為123456):
                    GRANT REPLICATION SLAVE, RELOAD,SUPER, NO *.* TO repl@'%' IDENTIFIED BY '123456';
                  FLUSH PRIVILEGES;
               (3) 重啟mysql服務(wù),或是直接reboot機(jī)器也可以
               (4) 進(jìn)入mysql,然后用 show master status\G  查看二進(jìn)制日志的狀態(tài),看到類似以下的結(jié)果:
                    +------------------+----------+--------------+------------------+
                    | File                      | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
                    +------------------+----------+--------------+------------------+
                    | mysql-bin.000003 |     1376  | s3                  |                           |
                    +------------------+----------+--------------+------------------+
          2.  配置B的Mysql
                (1) vim /etc/mysql/my.cnf
                     去掉[mysqld]段中 server_id =1 和log_bin=/var/log/mysql/mysql-bin.log的#注釋,把server_id改為2,要和master機(jī)器的不一樣。并增加以下內(nèi)容:
                     binlog_do_db=s3
                     log-slave-updates
                    保存退出
               (2) 重啟mysql服務(wù)
               (3) 進(jìn)入mysql,執(zhí)行
                    CHANGE MASTER TO MASTER_HOST='192.168.1.111', MASTER_USER='repl',Master_Port=3306,MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=1376;
                    SLAVE START;
                    注意上面的CHANGE語(yǔ)句中,MASTER_LOG_FILE和MASTER_LOG_POS就是上面1.4中提到的show master status命令得到的結(jié)果,指定二進(jìn)制文件的名稱和開始同步的位置。
               (4) 查看SLAVE狀態(tài):    show slave status\G
          *************************** 1. row ***************************
                         Slave_IO_State: Waiting for master to send event
                            Master_Host: 192.168.1.111
                            Master_User: repl
                            Master_Port: 3306
                          Connect_Retry: 60
                        Master_Log_File: mysql-bin.000003
                    Read_Master_Log_Pos: 1376
                         Relay_Log_File: mysqld-relay-bin.000002
                          Relay_Log_Pos: 1355
                  Relay_Master_Log_File: mysql-bin.000003
                       Slave_IO_Running: Yes
                      Slave_SQL_Running: Yes
                        Replicate_Do_DB: 
                    Replicate_Ignore_DB: 
                     Replicate_Do_Table: 
                 Replicate_Ignore_Table: 
                Replicate_Wild_Do_Table: 
            Replicate_Wild_Ignore_Table: 
                             Last_Errno: 0
                             Last_Error: 
                           Skip_Counter: 0
                    Exec_Master_Log_Pos: 1376
                        Relay_Log_Space: 1512
                        Until_Condition: None
                         Until_Log_File: 
                          Until_Log_Pos: 0
                     Master_SSL_Allowed: No
                     Master_SSL_CA_File: 
                     Master_SSL_CA_Path: 
                        Master_SSL_Cert: 
                      Master_SSL_Cipher: 
                         Master_SSL_Key: 
                  Seconds_Behind_Master: 0
          Master_SSL_Verify_Server_Cert: No
                          Last_IO_Errno: 0
                          Last_IO_Error: 
                         Last_SQL_Errno: 0
                         Last_SQL_Error: 
            Replicate_Ignore_Server_Ids: 
                       Master_Server_Id: 1
              上面的紅色二行如果為YES則表示已經(jīng)正常連接,可以進(jìn)行復(fù)制了。

          posted @ 2013-04-09 20:33 寒武紀(jì) 閱讀(1737) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 开封市| 张家界市| 临颍县| 高州市| 法库县| 龙泉市| 德州市| 乌兰浩特市| 开平市| 苏尼特右旗| 芜湖县| 尼玛县| 临清市| 南汇区| 玉龙| 乐平市| 搜索| 晋江市| 龙胜| 西乌珠穆沁旗| 南投县| 潍坊市| 古丈县| 织金县| 呼图壁县| 武夷山市| 江口县| 绥江县| 洪雅县| 梧州市| 柳州市| 洛扎县| 垫江县| 蓬溪县| 新兴县| 固阳县| 香格里拉县| 红河县| 武平县| 霍林郭勒市| 察隅县|