2018-1-31 Linux學習筆記
這種方式可以理解成是先在遠程主機上建立一個rsync的服務器,在服務器上配置好rsync的各種應用,然後本機作為rsync的一個客戶端去連接遠程的rsync服務器.
- 建立並配置rsync的配置文件 /etc/rsyncd.conf
rsyncd.conf樣例
port=873 //默認端口是873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.133.130
[test]
path=/root/rsync
use chroot=true
max connections=4
read only=no
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
- 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則隱藏.
auth users:指定傳輸時要使用的用戶名.
secrets file:指定密碼文件,該參數連同上面的參數如果不指定,則不使用密碼驗證.註意該密碼文件的權限一定要是600.格式:用戶名:密碼
hosts allow:表示被允許連接該模塊的主機,可以是IP或者網段,如果是多個,中間用空格隔開.
-
編輯secrets file,保存後要賦予600權限,如果權限不對,不能完成同步.
當設置了auth users和secrets file後,客戶端連服務端也需要用用戶名密碼了,若想在命令行中帶上密碼,可以設定一個密碼文件.
rsync -avL [email protected]::test/test1/ /tmp/test8/ --password-file=/etc/pass
其中/etc/pass內容就是一個密碼,權限要改為600. -
啟動rsyncd服務
rsync --daemon
啟動後,可以查看一下日誌,並查看端口是否啟動:
[root@Aming-1 ~]# cat /var/log/rsync.log
[root@Aming-1 ~]# netstat -lnp |grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0: LISTEN 12066/rsync
tcp 0 0 :::873 ::: LISTEN 12066/rsync - 到另一臺機器上測試
rsync -avL [email protected]::test/test1/ /tmp/test8/
10.34 linux系統日誌
日誌記錄了系統每天發生的各種各樣的事情,你可以通過他來檢查錯誤發生的原因,或者受到攻擊時攻擊者留下的痕跡.日誌主要的功能有:審計和監測,還可以實時的監測系統狀態,監測和追蹤侵入者等等.
常用日誌文件:
(1)/var/log/messages
- 核心系統日誌文件,包含了系統啟動時的引導消息,以及系統運行時的其他狀態消息,IO錯誤、網絡錯誤和其他系統錯誤都會記錄到這個文件中.另外像某個人的身份切換為root以及用戶自定義安裝的軟件(apache)的日誌也會在這裏列出.通常,/var/log/messages是在做故障診斷時首先要查看的文件.
-
因為很多東西都記錄到這個日誌裏,為了避免該日誌文件變的很大,系統有一個日誌輪詢的機制,每星期切換一個
日誌,變成message.xxxxxxxx, message.xxxxxxxx, ... messages.xxxxxxxx 連同messages一共有5個這樣的日誌文件.這裏的xxxxxxxx就是按照日期的格式生成的文件.這是通過logrotate工具的控制來實現的,它的配置文件是/etc/logrotate.conf. - 註意:如果沒有特殊需求請不要修改這個配置文件.
(2)dmesg命令,顯示系統的啟動信息(保存在內存中的),如果某個硬件有問題(比如說網卡)用這個命令也是可以看到的.dmesg -c可清除記錄的內容.
(3)/var/log/dmesg,系統啟動的日誌,和dmesg命令沒關系.
(4)last命令,查看登錄Linux歷史信息,調用的文件為/var/log/wtmp(二進制文件,不能用cat查看).
(5)lastb命令,查看登錄失敗的用戶,對應的文件是/var/log/btmp
(6)/var/log/secure 記錄驗證和授權等方面的信息,比如ssh登陸系統成功或者失敗,都會把相關信息記錄在這
個日誌裏.
logrotate參考資料:
https://my.oschina.net/u/2000675/blog/908189
10.35 screen工具
有時候,我們也許會有這樣的需求,要執行一個命令或者腳本,但是需要幾個小時甚至幾天.為了不讓執行的任務意外中斷,可使用以下兩種方法來避免這樣的問題發生.
1. 使用nohup
格式: nohup command &
直接加一個 ‘&’ 雖然丟到後臺了,但是當退出該終端時很有可能這個腳本也會退出的,而在前面加上 nohup
就沒有問題了,nohup的作用就是不掛斷地運行命令.
2. 使用screen
screen是一個虛擬終端,是一個可以在多個進程之間多路復用一個物理終端的窗口管理器.screen中有會話的概念,用戶可以在一個screen會話中創建多個screen窗口,在每一個screen窗口中就像操作一個真實的SSH連接窗口那樣.
1)打開一個會話,直接輸入screen命令然後回車,進入screen會話窗口
2)查看已經打開的screen會話 screen -ls
3)退出screen會話
Ctrl a組合鍵再按d退出虛擬終端,只是退出,並沒有結束.結束的話輸入Ctrl +d 或者輸入exit.
4)退出後還想再次登錄某個screen會話,使用sreen -r [screen 編號] ,例如screen -r id
5)screen -S aming //自定義一個screen虛擬終端名字為aming
2018-1-31 Linux學習筆記