入門一班20181101 rsync syslog screen

11月1日任務

10.32/10.33 rsync通過服務同步
10.34 linux系統日誌
10.35 screen工具
擴展
1. Linux日誌文件總管logrotate http://linux.cn/article-4126-1.html
2. xargs用法詳解

http://blog.csdn.net/zhangfn2011/article/details/6776925




image.png



不是通過ssh 而是通過服務的方式同步 這樣就需要開啓一個服務,cs架構,客戶端,服務端。 服務端開啓一個服務,監聽一個端口默認873,而且可以自定義。客戶端在服務器端開啓以後就可以通過873端口傳送服務以及數據。

啓動服務之前要編輯配置文件,默認的地址是在 /etc/rsyncd.conf .如果寫到別的地方,開啓服務的時候要寫上新路徑

啓動服務 rsybc --daemon


命令格式:

rsync -av 當前需要同步的文件 ip::模塊名路徑/文件名  模塊名就是配置文件裏的[]中間的那個test

rsync -avp /tmp/1.passwd 192.168.202.123::test/from02.passwd

image.png

解釋一下上述的設置。

port是端口

log 日誌文件

pid

address 是服務端的地址

[test]是模塊名,隨便起,在客戶端的時候可以用來寫在命令中


以下是一個案例:

aming1的ip 192.168.202.123 這個機器設置爲服務器端 設置了873端口 以及log 配置 路徑等。

aming2的IP192.18.202.250 這個機器設置爲客戶端 然後需要從客戶端將一個文件同步到服務器端。


  1. 首先在服務器端配置好配置文件,/etc/rsyncd.conf

  2. 啓動服務 rsync --daemon

  3. 檢查以下這個服務是否啓動 ps aux | grep rsync 查看進程 netstat -lntp 檢查端口 873 

    image.png

4. 然後按照配置文件中的路徑,給接受路徑777權限

image.png

5.  在aming2機器上執行同步命令

rsync -avp /tmp/1.passwd 192.168.202.123::test/from02.passwd

passwd 是要傳輸的文件  雙冒號後面是模塊名 後面跟新文件的名字

6. 出現了error 

image.png

7. 檢查錯誤。ping可以通,網絡連接沒有問題。然後檢查端口,使用命令telnet ip 端口,ok是端口的問題。iptables的問題,所以要停掉firewalld服務。systemctl stop firewalld 關閉規則,兩邊都要。

image.png

8 重新執行傳輸命令,會要求輸入密碼,密碼在配置文件中有定義,auth secrets 路徑, 可以暫時先關閉。

9 執行,成功。

image.png

image.png



image.png

image.png

來說說配置文件中的含義:

port=873-----------默認端口,不寫的話就是873

log file=/var/log/rsync.log--------自定義日誌文件

pid file=/var/run/rsyncd.pid------- 指定pid文件,這個文件的作用涉及服務的啓動,停止等進程管理操作。

address=192.168.133.130 ----------指定啓動rsync服務的IP,多個ip可以指定其中一個,不指定就會在全部ip

[test] -----模塊名

path=/root/rsync 指定數據存放路徑

use chroot=true 表示在傳輸文件前首先chroot到path參數指定的目錄下,這樣做可以實現額外的安全防護,確定是需要root權限,並且不能備份只想外部的符號連接所指向的目錄文件。默認爲true,如果數據當中有軟鏈接文件,建議改成false(翻譯一下就是如果有軟鏈接而且傳輸的時候把實體也傳輸,且實體不存在了就會報錯)

max connections=4 指定最大連接數,默認爲0,即沒有限制

read only=no true/false 如果只讀定義爲true 那就是寫不進去了 客戶端就傳不了了

list=true --------作用是如果是ture 就可以列出遠程服務器所有的模塊。是一個安全選項,如果模塊名可見,就比較危險,有安全隱患。

image.png

uid=root 指定傳輸的時候以哪個用戶傳輸。

gid=root


auth users=test 指定傳輸時用使用到用戶名

image.png

secrets file=/etc/rsyncd.passwd 指定密碼文件,該參數聯通上面的參數如果不指定,則不用密碼驗證 

這個文件的格式是 用戶:密碼 權限是600.客戶端的目錄是/etc/rsync_pass.txt 只寫密碼,權限也是600。同步的時候需要更多的一個選項,--password-file=/etc/rsync_pass.txt 



hosts allow=192.168.133.132 1.1.1.1 2.2.2.2  192.168.133.0/24 用來定義哪些機器來做同步,1.1.1.1 2.2.2.2 表示多個ip 後面是ip段 



如果服務器端端口改變了,客戶端需要在命令行加上一個選項 --port 端口號來保證傳輸正常。





Linux 系統日誌

image.png


隨着越來越多的涉及服務的啓動,運行,log就越來越重要。很多的錯誤都會記錄在日誌中。

重要的日誌:


/var/log/messages Linux的主要log都在這裏

image.png


所有的日誌都記錄在此,所以長久以往會很大。所以系統有一個日誌切割機制。增長到一定級別的時候就切割了。看下圖

image.png


因爲linux有一個服務 logrotate 日誌切割

參考https://my.oschina.net/u/2000675/blog/908189



dmesg命令 

顯示硬件相關的日誌,保存在內存中。關機即無。


/var/log/dmesg 記錄的是啓動相關的信息


last命令記錄的是正確登陸的日誌,調用的是 /var/log/wtmp文件,二進制文件不能用cat 

lastb命令記錄的是登陸失敗的日誌,調用的是 var/log/btmp 二進制文件,如果有人嘗試暴力破解等,就會留下記錄。


安全日誌 /var/log/secure 




screen工具 虛擬屏幕,虛擬終端。

image.png

有時候運行腳本時間很長,而且不能中途中斷。所以爲了不讓一個任務意外中斷,需要保證網絡不能出任何的差錯。

有兩個辦法解決:

1, 放到後臺,有輸出到日誌中。

nohup 執行命令 日誌 & 

這樣就算終端斷開也會在後臺運行


2,screen放到後臺,隨時用,隨時調出來。

 

screen命令 直接進入一個虛擬終端,執行一個不能停止的命令後 按ctrl a 然後按d 退出虛擬終端。任務繼續進行

比如 在screen下執行 vmstat 1 命令

image.png

image.png

告訴你有一個screen id是4047 

可以使用screen -ls 列出來

image.png

回到screen screen -r id 

image.png

殺掉screen 用exit


也可以同時用好幾個screen


但是時間久了不會記得screen下面運行的是什麼命令了,如何區分?

有一個參數可以起名,-S 


screen -S “名字“ 進入的時候也可以用名字進入,同時也可以用id進來

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章