5月15日
一. rsync通過服務同步
在遠程主機上建立一個rsync的服務器,在服務器上配置好rsync的各種應用,然後將本機作為rsync的一個客戶端連接遠程的rsync服務器。
實驗測試:
1.1 找兩臺主機,一個IP是172.16.111.100,另一個是172.16.111.110。
1.2在100主機上建立並配置rsync的配置文件/etc/rsyncd.conf,如下所示:
命令:vi /etc/rsyncd.conf
啟動服務: rsync --daemon
2.在172.16.111.110機子上操作(在客戶端機器上操作,這個是從客戶端將文件推送到服務端)
命令:rsync -avP /tmp/1.txt
[root@localhost ~]# telnet 172.16.111.110 873 //檢測端口是否通信
[root@localhost ~]# iptables -nvL //查看iptables Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 10951 16M ACCEPT all -- * *
[root@localhost ~]# systemctl stop firewalld //關閉firewalld服務
[root@localhost ~]# iptables -nvL //查看服務已關閉
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
2.1 在172.16.111.110機子上操作(在客戶端機器上操作,這個是從服務端拉取文件到客戶端)
命令:rsync -avP 172.16.111.100::test/momo.txt /tmp/2.txt
3、rsyncd.conf 樣例:
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=172.16.111.100
[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=172.16.111.110
上面的 port,log file,pid file,address都屬於全局配置。[]內的test是模塊名,以下屬於模塊配置。一個配置文件可以有多個不同模塊
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 [email protected]::test/test1/ /tmp/test8/ –password-file=/etc/pass
其中/etc/pass內容就是一個密碼,權限要改為600
10.34 linux系統日誌
一、linux系統日誌
日誌記錄了系統每天發生的各種各樣的事情,比如監測系統狀況、排查系統故障等,你可以通過日誌來檢查錯誤發生的原因,或者受到攻擊時攻擊留下的痕跡。日誌的主要功能是審計和監測,還可以實時的監測系統狀態,監測和追蹤侵入者等。
/var/log/messages 是核心的系統日誌,包含了系統啟動時的引導消息,以及系統運行時的其他狀態信息,I/0錯誤、網絡錯誤和其他系統錯誤都會記錄到這個文件中來。通常情況下,/var/log/messages是做故障診斷時首先要查看的文件。
1.1 日誌切割配置文件
系統上有很多服務,如果都把服務日誌放到這個文件/var/log/messages裏那豈不是會很大,所以系統有一個日誌輪詢的機制,每星期切換一個日誌,切換後的日誌名字類似於messages-20171206,會存放在/var/log/目錄下面,連同messages一共有5個這樣的日誌文件,這裏的20171206就是日期,它表示日誌切割的年月日。它的配置文件是/etc/logrotate.conf(如果沒有特殊要求,請不要修改這個配置文件),示例如下:
備註:/var/log/messages是由rsyslogd這個守護進程產生的,如果停止這個服務則系統不會產生/var/log/messages,所以這個服務不要停止。rsyslogd服務的配置文件為/etc/rsyslog,conf,這個文件定義了日誌的級別,若沒有特殊需求,這個配置文件是不需要修改的。
參考文章:https://my.oschina.net/u/2000675/blog/908189
1.2 dmesg
dmesg 這個命令顯示系統的啟動信息,在開機時啟動,並存儲在內存中。如果某個硬件有問題(如網卡),可以在這裏看到,示例如下
命令:dmesg | head (dmesg -c 可以清空掉 )
1.3 last命令 來查看正確的登錄歷史,包括reboot。調用的文件/var/log/wtmp
last命令實際讀取的是/var/log/wtmp文件,但這個文件不能直接用cat,vi,vim,head,tail查看。
1.4 lastb命令,查看登錄失敗的用戶,對應的文件時 /var/log/btmp
1.5 /var/log/dmesg 系統啟動的日誌文件
1.6 安全日誌 /var/log/secure
/var/log/secure記錄的也是和登錄有關的信息,如ssh登錄失敗的信息在這裏都可以記錄到。
命令:less /var/log/secure
10.35 screen工具
一、screen工具
有時我們要執行一個命令或者腳本,需要幾小時甚至幾天,在這個過程中,如果中途斷網或出現其他意外情況怎麽辦?以下兩種方法就是來避免這狀況發生的。
1. nohup 命令
首先寫一個sleep.sh腳本,然後把它放到後臺執行,示例如下:
[root@gary-tao ~]# nohup /usr/local/sbin/sleep.sh &
上例中,直接在sleep.sh後面加&雖然可以在後臺運行,但是當退出該終端時,這個腳本很有可能也會退出,所以在前面加上nohup就沒有問題了,執行後在當前目錄下生成一個nohup的文件,它的作用就是防止進程意外中斷,並且會把輸出信息記錄到nohup文件中。
2. screen工具的使用
screen是一個虛擬終端,簡單來說,screen是一個可以在多個進程之間多路復用一個物理終端的窗口管理器,screen中有會話的概念,用戶可以在一個screen會話中創建多個screen會話窗口,在每一個screen窗口中就像操作一個真實的ssh連接窗口一樣。
2.1 首先 screen工具安裝 yum install -y screen
2.2 screen直接回車就進入了虛擬終端
ctrl+a組合鍵再按d退出虛擬終端,但不是結束
2.3 screen -ls 查看虛擬終端列表
2.4 screen -r id 進入指定的終端
2.5 screen -S aming 給對應的虛擬終端命名
2.6 screen -r cfk 直接通過命名的名稱進入對應的虛擬終端
5月15日