rsync 通過服務的方式同步 linux系統日誌 screen工具

weixin_33686714發表於2018-02-01

 

rsync 通過服務的方式同步

 

倆臺機器傳檔案IP地址交叉編寫。

 

 

主機1:

要編輯配置檔案 /etc/rsyncd.conf

rsyncd.conf樣例

port=873                     #埠

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=10.211.55.16            #(本機IP)

[test]

path=/tmp/rsync/

use chroot=true

max connections=4

read only=no

list=true

uid=root

gid=root

#auth users=test  #密碼

#secrets file=/etc/rsyncd.passwd #密碼

hosts allow=10.211.55.40     #遠端機器IP

 

 

 

 

主機2:

要編輯配置檔案 /etc/rsyncd.conf

rsyncd.conf樣例

port=873                     #埠

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=10.211.55.40            #(本機IP)

[test]

path=/tmp/rsync/

use chroot=true

max connections=4

read only=no

list=true

uid=root

gid=root

#auth users=test

#secrets file=/etc/rsyncd.passwd

hosts allow=10.211.55.16     #遠端機器IP

 

配置檔案講解:

port 指定rsync哪個埠,預設873

log file 指定日誌檔案

pid file指定pid檔案,這個檔案的作用設計服務的啟動、停止等程式管理操作

address指定啟動rsync服務的IP,假如機器有多個IP,可以指定其中一個啟動rsync服務,如果不指定該引數,預設在全部IP 上啟動

[]指定模組名,裡面內容自定義

path指定資料存放的路徑

use chroot tru|false: 表示在傳輸檔案前首先chroot到path引數所指定的目錄下。

這樣做的原因是實現額外的安全防護,但缺點是需要以root許可權,並且不能備份指向外部的符號連線所指向的目錄檔案。預設情況下chroot值為true,如果你的資料當中有軟連結檔案,建議設定為false

 

max connections:指定最大的連線數,預設是0,即沒有限制。

read only ture|false:如果為true,則不能上傳到該模組指定的路徑下。

list:表示當使用者查詢該伺服器上的可用模組時,該模組是否被列出,設定為true則列出,false則隱藏。

uid/gid:指定傳輸檔案時以哪個使用者/組的身份傳輸。

auth users:指定傳輸時要使用的使用者名稱。

secrets file:指定密碼檔案,該引數連同上面的引數如果不指定,則不使用密碼驗證。注意該密碼檔案的許可權一定要是600。格式:使用者名稱:密碼

hosts allow:表示被允許連線該模組的主機,可以是IP或者網段,如果是多個,中間用空格隔開。

當設定了auth users和secrets file後,客戶端連服務端也需要用使用者名稱密碼了,若想在命令列中帶上密碼,可以設定一個密碼檔案

rsync -avL test@192.168.133.130::test/test1/  /tmp/test8/ --password-file=/etc/pass

其中/etc/pass內容就是一個密碼,許可權要改為600

 

 

 

啟動服務rsync --daemon

[root@centos7 ~]# rsync --daemon

檢視是否啟動服務程式:

[root@centos7 ~]# ps aux|grep rsync

root      1358  0.0  0.0 114652   520 ?        Ss   00:37   0:00 rsync --daemon

root      1368  0.0  0.0 112676   984 pts/0    S+   00:37   0:00 grep --color=auto rsync

 

 

[root@centos7 ~]# netstat -lntp

tcp        0      0 10.211.55.16:873        0.0.0.0:*               LISTEN      780/rsync      

 

[root@centos7 ~]# chmod 777 /tmp/rsync/

 

 

檢測埠是否通的命令:[root@centos7 ~]# yum install -y telnet

兩臺機器分別telnet

telnet 10.211.55.16 873

telent  10.211.55.40  873

 

如果開啟了iptables服務和firewalld防火牆服務,先關閉firewalld服務

停止firewalld

[root@centos7 ~]# systemctl stop firewalld.service 

[root@centos7 ~]# systemctl disable  firewalld.service 

 

 

格式:rsync -av test1/     192.168.133.130::module/dir/

 

::mdule 表示配置檔案的模組名

 

rsync -avP  test1/     192.168.133.130::test/dir/

 

[root@centos7 ~]# rsync -avP test1/ 10.211.55.40::test/

sending incremental file list

./

1.txt

       32822 100%   52.73kB/s    0:00:00 (xfer#1, to-check=17/19)

 

 

test/ 包含的路徑是/tmp/rsync/  這是在test模組中定義的path決定。

 

也可以指定埠

rsync -avLP --port 873  192.168.133.130::test/    /tmp/test/

 

[root@centos7 ~]# rsync -avLP --port 873 10.211.55.40::test/ /tmp/test/

receiving incremental file list

created directory /tmp/test

./

1.txt

           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/2)

sent 48 bytes  received 113 bytes  107.33 bytes/sec

total size is 0  speedup is 0.00

[root@centos7 ~]# ls /tmp/test/

1.txt

 

 

自動列出模組名:

[root@centos7 ~]# rsync --port=873 10.211.55.40::

test     

 

 

服務端:

傳輸時驗證密碼:

auth users=test

secrets file=/etc/rsyncd.passwd

密碼檔案:

vi /etc/rsyncd.passwd

格式是:

使用者:密碼

test:600

 

免輸入密碼:

[root@centos7 ~]# vi /etc/rsyncd_pass.txt

[root@centos7 ~]# chmod 600 !$

chmod 600 /etc/rsyncd_pass.txt

 

[root@centos7 ~]# rsync -avP /tmp/test/ --port 873 --password-file=/etc/rsync_pass.txt test@10.211.55.40::test/ 

sending incremental file list

sent 40 bytes  received 8 bytes  96.00 bytes/sec

total size is 0  speedup is 0.00

 

 

配置檔案中也可以寫多個IP

hosts allow=10.211.55.16   10.211.55.17  192.168.133.0/24(IP段)  #遠端機器IP

 

 

linux系統日誌

/var/log/messages

logrotate系統服務可以自動切割日誌檔案

[root@centos7 ~]# ls /var/log/

 

/etc/logrotate.conf 日誌切割配置檔案

 

 

dmesg命令

/var/log/dmesg 日誌 儲存在記憶體中。

情況日誌:[root@centos7 ~]# dmesg -c

重啟也會自動生成,記錄系統日誌

 

last命令,呼叫的檔案/var/log/wtmp

二進位制檔案只能用last /var/log/wtmp去看。

lastb命令檢視登入失敗的使用者,對應的檔案是 /var/log/btmp

lastb /var/log/btmp

安全日誌:

/var/log/secure

 

 

 screen工具

為了不讓一個任務意外中斷。

後臺執行:nohup command &

screen是一個虛擬終端

安裝包:

yum install -y screen

screen直接回車就進入了虛擬終端

vmstat 1

ctral a組合鍵再按d退出虛擬終端,但不是結束

[root@centos7 ~]# screen

[detached from 1380.pts-0.centos7]

screen -ls 檢視虛擬終端列表

[root@centos7 ~]# screen -ls

There are screens on:

1380.pts-0.centos7 (Detached)

1324.pts-0.centos7 (Detached)

2 Sockets in /var/run/screen/S-root.

screen -r id 進入指定的終端

[root@centos7 ~]# screen -r 1380

 

但是我不知道screen裡面執行了什麼程式

自定義screen名字:screen -S  "test_screen"  

[root@centos7 ~]# screen -S "test_screen"

回車

Sleep 100

Sctrl + a +d

[detached from 1401.test_screen]

 

[root@centos7 ~]# screen -ls

There are screens on:

1401.test_screen (Detached)

 

screen -r test_screen 回到原來的螢幕。

 

 

 

 

 

 

相關文章