36.rsync下 日誌 screen

10.32/10.33 rsync經過服務同步mysql

10.34 linux系統日誌linux

10.35 screen工具sql

 

 

10.32/10.33 rsync經過服務同步:安全

 

rsync還能夠經過服務的方式同步。那須要開啓一個服務,他的架構是cs架構,客戶端服務端。服務端的話開啓rsync服務,而且要監聽一個端口,默認是873,並且這個端口是能夠自定義的。咱們開啓這個服務以後呢,客戶端就能夠根據這個873端口和服務端通訊、能夠傳輸數據。他的命令模式爲 rsync -av test1/ 192.168.159.130::module/dir/服務器

 

 

rsync經過服務的方式同步網絡

~1. 要編輯配置文件 vi /etc/rsyncd.conf 咱們在啓動服務以前,要先編輯這個配置文件架構

儘可能把配置文件寫在這個文件裏,咱們可使用rsync --daemon來直接啓動服務ssh

rsyncd.conf樣例,能夠直接把樣例複製到配置文件裏socket

port=873tcp

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=192.168.133.130 不寫此行的話,就會顯示0000,綁定所有的IP

[test] 方括號括起來的是模塊的名字

path=/root/rsync 可可改爲tmp目錄下

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=192.168.133.132 1.1.1.1 2.2.2.2 192.168.133.0/24 容許哪些機器去作同步

(容許哪一個IP過來連) 多個的話用空格來間隔 也能夠寫IP段

 

rsyncd.conf配置文件詳解

port:指定在哪一個端口啓動rsyncd服務,默認是873端口。

log file:指定日誌文件。

pid file:指定pid文件,這個文件的做用涉及服務的啓動、中止等進程管理操做。

address:指定啓動rsyncd服務的IP。假如你的機器有多個IP,就能夠指定由其中一個啓動rsyncd服務,若是不指定該參數,默認是在所有IP上啓動。

[]:指定模塊名,裏面內容自定義。這寫什麼,同步的時候::後面就寫什麼

path:指定數據存放的路徑。

use chroot true|false:表示在傳輸文件前首先chroot到path參數所指定的目錄下。這樣作的緣由是實現額外的安全防禦,但缺點是須要以roots權限,而且不能備份指向外部的符號鏈接所指向的目錄文件。默認狀況下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

 

 

~2. 啓動服務rsync --daemon

啓動以後ps aux | grep rsync查看一下是否有。netstat -lntp看一下他的端口是不是咱們設置的873端口。

~3. 運行命令的格式寫法: rsync -av test1/ 192.168.159.130::module/dir/

有兩個冒號

加--port 8830 可指定端口爲8830 rsync -av --port 8830test1/ 192.168.159.130::module/dir/

小知識:telnet 192.168.159.130 873 是檢測一個IP端口是否通的一個命令

 

 

實例:

[root@axinlinux-01 ~]# vi /etc/rsyncd.conf

port=873

log file=/var/log/rsync.log

pid file=/var/run/rsyncd.pid

address=192.168.133.130 由於作實驗時。ps或netstat是都搜不到,因此就刪掉了

[test]

path=/tmp/rsync 爲方便作實驗,改到了tmp下

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=192.168.159.128

 

[root@axinlinux-01 ~]# rsync --daemon

[root@axinlinux-01 ~]# ps aux | grep rsync

root 2396 0.0 0.0 114740 584 ? Ss 22:10 0:00 rsync --daemon

root 2416 0.0 0.0 112720 980 pts/0 S+ 22:15 0:00 grep --color=auto rsync

[root@axinlinux-01 ~]# netstat -lntp 檢查端口

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 992/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1194/master

tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2396/rsync

 

[root@aminglinux-02 ~]# rsync -avP /tmp/axin.txt 192.168.159.130::test/axin-02.txt 咱們從目標機器上直接拉就能夠了

rsync: failed to connect to 192.168.159.130 (192.168.159.130): Connection refused (111) 報錯

rsync error: error in socket IO (code 10) at clientserver.c(125) [sender=3.1.2]

[root@aminglinux-02 ~]# ping 192.168.159.130 ping本身

PING 192.168.159.130 (192.168.159.130) 56(84) bytes of data.

64 bytes from 192.168.159.130: icmp_seq=1 ttl=64 time=0.091 ms

[root@aminglinux-02 ~]# telnet 192.168.159.130 873 telnet查看端口

Trying 192.168.159.130... 報錯

telnet: connect to address 192.168.159.130: Connection refused

[root@aminglinux-02 ~]# iptables -nvL 查看規則

Chain IN_work_deny (1 references) 發現爲清零

pkts bytes target prot opt in out source destination

 

Chain IN_work_log (1 references)

pkts bytes target prot opt in out source destination

 

Chain OUTPUT_direct (1 references)

pkts bytes target prot opt in out source destination

[root@aminglinux-02 ~]# systemctl stop firewalld (對方的firewalld也要停掉) 關閉兩方的firewalld。理論上既能夠了

阿鑫的機器telnet仍是不成功

[root@aminglinux-02 ~]# rsync -avP /tmp/axin.txt 192.168.159.130::test/axin-02.txt 在拉取就能夠了,輸入密碼。不想輸入密碼也能夠,要改一下那個配置文件

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

10.34 linux系統日誌:(重要)

 

 

服務在啓動或運行的過程中,可能會遇到一些問題。好比mysql服務啓動不了,除了看他的報錯,還要關注他的日誌。不少的錯誤會記錄在日誌當中,而不會出如今屏幕上

 

~1. /var/log/messages

這個是linux中總的日誌,好多日誌都記錄在這個下面。除非一些服務有定義一些單獨的日誌

~2. la /var/log/messages* 查看他的切割後的日誌

logrotate

日誌的內置切割工具。每週切割一次

~3. /etc/logrotate.conf 日誌切割配置文件

http://www.javashuo.com/article/p-tauwscem-r.html 可參考這個日誌

 

~4. dmesg 命令

系統硬件相關的日誌列出來。這個日誌是保存在內存中的,並非一個文件

用在,好比硬件損壞或網卡有問題了,均可以記錄在這裏。除了查看/var/log/messages以外,還要去查看這個關於硬件的錯誤故障。

-c清空這些日誌

~5. /var/log/dmesg

跟dmesg命令沒有關係。就是系統啓動的日誌記錄的一些信息

~6. last 命令。

調用的文件路徑是/var/log/wtmp二進制文件,沒法cat,只能用last查看信息

用來查看正確的登陸歷史

~7. lastb 命令。

查看的登陸失敗的用戶。

對應的文件是/var/log/btmp,也是二進制文件

好比被人暴力破解,就會記錄在這個命令裏

~8. /var/log/secure 安全日誌

咱們登陸一個系統,驗證成功,會在這裏記錄一個日誌。若是沒有成功也會去記錄

好比,被暴力破解,屢次登陸。咱們能夠tail -f /var/log/secure(動態查看這個文件後10條)。咱們在另外一個終端錯誤登陸一次,就會在這個日誌裏顯示

 

 

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

10.35 screen工具:

 

 

screen虛擬的一個屏幕。也能夠把他認爲是一個虛擬的終端。那用在什麼場景下呢:

假若有一個需求,去執行一個腳本。那這個腳本指定時間很長,可能須要一天一晚上。並且這個腳本會輸出一些東西出來,那也就意味着這個腳本不能中途中斷。咱們遠程是須要網絡的,不能網絡出任何差錯,那因此有兩個辦法:

第一個辦法,把這個任務丟到後臺去,而後給他加一個日誌的輸出。雖然沒有輸出到屏幕上,但能夠把他輸出到日誌裏

能夠用這個命令nohup

~1. nohup command &

執行命令+執行日誌+&

意思就是即便終端斷開,他依然能夠在後臺執行

那咱們雖然解決了任務中斷的問題,但沒有辦法實時的看到任務輸出的東西,由於在後臺。咱們是能夠寫一個日誌,但咱們不能在屏幕上看到輸出的

 

screen工具(爲了避免讓一個任務意外中斷) 可多個screen一塊兒使用

我能夠要把我執行的命令放到這個終端裏,而後我能夠退出我這個pts0或pts1這個遠程終端以前,我先把這個screen丟到後臺去,我隨時用能夠隨時調出來

~2.screen是一個虛擬終端

~3. yum install -y screen

 

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

也就是從新進入了一個窗口,那這個窗口就是一個虛擬終端

~5. ctrl a組合鍵,再按 d 退出虛擬終端,但不是結束

暫時退出來,還能夠再進去

~6. screen -ls 查看虛擬終端列表 (可支持多個screen)

還有這個ID號

[root@axinlinux-01 ~]# screen -ls

There are screens on:

1615.pts-0.axinlinux-01 (Detached)

1600.pts-0.axinlinux-01 (Detached)

1583.pts-0.axinlinux-01 (Detached)

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

~7. screen -r id 進入指定的終端

screen -r 加screen -ls查看的ID號,就能夠回到那個虛擬終端

 

~8. screen -S 「aming」

由於多個screen的時候,咱們分不清那個是作什麼的。

-S能夠在建立這個screen的時候加雙引號,給他建立一個名字。在-ls的時候更加方便。而且-r進入的時候能夠不加ID號,直接雙引號寫建立的名字就能夠了

[root@axinlinux-01 ~]# screen -S "vmstat 1"

[detached from 1646.vmstat 1]

[root@axinlinux-01 ~]# screen -ls

There are screens on:

1646.vmstat 1 (Detached) 咱們會看到咱們建立的這個名叫 vmsat 1 的screen

[root@axinlinux-01 ~]# screen -r "vmstat 1" -r的時候寫建立的名字也是能夠的

 

 

實例:

[root@axinlinux-01 ~]# screen 直接回車,進入虛擬終端(也就是新窗口)

在新窗口咱們能夠執行vmstat 1(不可終端的任務)

[detached from 1448.pts-0.axinlinux-01] 按ctrl+a,再按d(暫時退出來)

[root@axinlinux-01 ~]# screen -ls 查看虛擬終端的列表,和這個id號1448

There is a screen on:

1448.pts-0.axinlinux-01 (Detached)

1 Socket in /var/run/screen/S-root.

[root@axinlinux-01 ~]# screen -r 1448 screen -r 1448 回到這個虛擬終端

-

--

r b swpd free buff cache si so bi bo in cs us sy id wa st

1 0 0 1440116 2076 302896 0 0 0 0 59 50 0 0 100 0 0

0 0 0 1440116 2076 302896 0 0 0 0 51 46 0 0 100 0 0

^C

[root@axinlinux-01 ~]# exit 若是不須要這個screen,在虛擬終端裏直接敲 exit,把它殺死就能夠了

[root@axinlinux-01 ~]# screen -ls 回到linux,咱們在screen -l看,就沒有了

No Sockets found in /var/run/screen/S-root.

相關文章
相關標籤/搜索