1. 程式人生 > >2018-1-31 Linux學習筆記

2018-1-31 Linux學習筆記

管理器 空格 系統日誌 腳本 修改 虛擬終端 傳輸 tro 3.0

10.32/10.33 rsync通過服務同步

這種方式可以理解成是先在遠程主機上建立一個rsync的服務器,在服務器上配置好rsync的各種應用,然後本機作為rsync的一個客戶端去連接遠程的rsync服務器.

  1. 建立並配置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
    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
  • 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或者網段,如果是多個,中間用空格隔開.
  1. 編輯secrets file,保存後要賦予600權限,如果權限不對,不能完成同步.
    當設置了auth users和secrets file後,客戶端連服務端也需要用用戶名密碼了,若想在命令行中帶上密碼,可以設定一個密碼文件.
    rsync -avL [email protected]::test/test1/ /tmp/test8/ --password-file=/etc/pass
    其中/etc/pass內容就是一個密碼,權限要改為600.

  2. 啟動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

  3. 到另一臺機器上測試
    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學習筆記