Linux學習-1101(rsync下、log、screen)

10.32/10.33 rsync經過服務同步node

10.34 linux系統日誌linux

10.35 screen工具shell

1、 rsync經過服務同步vim

rsync 經過服務的方式同步,首先須要開啓一個服務。它是C/S架構,開啓rsync服務,默認端口是873安全

啓動服務:服務器

一、在啓動服務以前,首先要編輯配置文件,文件地址是 /etc/rsyncd.conf。(也能夠更改路徑,可是在更改路徑後,就須要在啓動服務的時候,去rsync --daemon//conf=後跟路徑)session

二、啓動服務:rsync --daemon架構

格式:rsync -av test1/ 192.168.133.130::module/dir/ssh

  • rsyncd.conf樣例
port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=172.18.11.153
[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=192.168.133.132 1.1.1.1 2.2.2.2  192.168.133.0/24

配置文件詳解:tcp

port:指定rsync服務端口,默認是873

log file:指定日誌文件

pid file:指定pid文件

address:指定rsync啓動服務的ip,若有多個ip就能夠指定其中一個ip啓動。若是不指定改參數,默認是所有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

 

演示:

一、配置文件修改完成後啓動服務

    rsync --daemon

二、檢查服務

netstat -lntp |grep 873

[root@wxy01 ~]# netstat -lntp |grep 873
tcp        0      0 172.18.11.153:873       0.0.0.0:*               LISTEN      9738/rsync

三、測試

rsync -av /tem/test11111.txt 172.18.11.153::test/tmp/test2222.txt

::爲模塊名,也就是配置文件中[test]

 


rsync傳輸時設置用戶名密碼:

一、配置文件中指定用戶名和密碼文件

    auth users=test 
    secrets file=/etc/rsyncd.passwd

  二、編輯/etc/rsyncd.passwd

       密碼格式爲:test:wxy123

        修改權限爲600

        chmod 600 /etc/rsyncd.passwd

三、測試
        rsync -avP /tmp/test/ test@172.18.11.153::test/

客戶端設置密碼文件:
在rsync傳輸文件的時候,在寫shell腳本輸入密碼很差,這時候在客戶端也定義一個密碼文件

一、設置密碼文件
vim /etc/rsync_pass.txt
格式:客戶端只寫一個密碼便可
並修改權限爲600
chmod 600 /etc/rsync_pass.txt

二、測試
rsync -avP /tmp/test/ --password-file=/etc/rsync_pass.txt test@172.18.11.153::test/
這裏須要加上--password-file=/etc/rsync_pass.txt

 

2、系統日誌

  • /var/log/messages
  •  /etc/logrotate.conf 日誌切割配置文件
  •  參考https://my.oschina.net/u/2000675/blog/908189
  •  dmesg命令
  •  /var/log/dmesg 日誌
  •  last命令,調用的文件/var/log/wtmp
  •  lastb命令查看登陸失敗的用戶,對應的文件時/var/log/btmp
  •  /var/log/secure

一、系統日誌

    /var/log/messages 是linux的系統總日誌,

    系統中日誌會有自動切割機制,增加到必定級別就會自動切割:

[root@wxy01 ~]# ll /var/log/messages*
-rw------- 1 root root    37371 Nov 20 17:01 /var/log/messages
-rw------- 1 root root   164427 Oct 28 03:40 /var/log/messages-20181028
-rw------- 1 root root 11215013 Nov  5 03:35 /var/log/messages-20181105
-rw------- 1 root root  8009011 Nov 11 03:41 /var/log/messages-20181111
-rw------- 1 root root   187974 Nov 19 03:29 /var/log/messages-20181119
[root@wxy01 ~]#
[root@wxy01 ~]# du -sh /var/log/messages*
44K	/var/log/messages
168K	/var/log/messages-20181028
11M	/var/log/messages-20181105
7.7M	/var/log/messages-20181111
188K	/var/log/messages-20181119
[root@wxy01 ~]#

切割機制的配置文件:

 /etc/logrotate.conf

[root@wxy01 ~]# cat  /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
	minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

 

 /etc/logrotate.d/syslog 

這個會給cron,maillog,messages,secure,spooler這幾個日誌進行切割

Linux系統有一個特色,一個服務寫一個文件的時候,並非按照文件名去寫的,而是根據inode來寫的

[root@wxy01 ~]# cat /etc/logrotate.d/syslog 
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
	/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

 

參考連接:http://my.oschina.net/u/2000675/blog/908189

 

 

二、dmesg命令

  • dmesg會把系統的硬件日誌列出來
  • 這個個日誌是保存在內存中的,並非一個文件
  • dmesg -c 清空當前日誌
  •  /var/log/dmesg這個日誌文件和dmesg命令沒喲任何關聯,它是系統啓動的一個日誌

 

三、last命令

    查看歷史的登陸狀況,執行last命令時它會調用/var/log/wtmp文件,並把該文件的記錄登陸系統的信息顯示出來。

  • wtmp是一個二進制文件不能執行cat查看
[root@wxy01 ~]# last
root     pts/1        27.36.116.242    Tue Nov 20 16:21   still logged in   
root     pts/0        27.36.116.242    Tue Nov 20 14:57   still logged in   
root     pts/0        27.36.116.242    Mon Nov 19 15:58 - 22:05  (06:06)    
root     pts/0        119.131.39.234   Tue Nov 13 22:27 - 00:38  (02:11)    
root     pts/1        119.131.39.234   Tue Nov 13 20:19 - 22:26  (02:07)    
root     pts/0        27.36.116.242    Tue Nov 13 13:35 - 21:36  (08:01)

last會顯示登陸用戶、IP、時間等信息

 

四、lastb命令

查看登陸失敗的用戶信息,對應的日誌文件:/var/log/btmp 。一樣這也是一個二進制文件

[root@wxy01 ~]# lastb 
admin    ssh:notty    14.169.194.36    Tue Nov 20 07:48 - 07:48  (00:00)    
user     ssh:notty    111.241.103.18   Tue Nov 20 07:48 - 07:48  (00:00)    
user     ssh:notty    111.241.103.18   Tue Nov 20 07:48 - 07:48  (00:00)    
admin    ssh:notty    186.1.32.136     Tue Nov 20 04:00 - 04:00  (00:00)    
admin    ssh:notty    186.1.32.136     Tue Nov 20 04:00 - 04:00  (00:00)    
admin    ssh:notty    41.202.171.248   Mon Nov 19 14:09 - 14:09  (00:00)    
admin    ssh:notty    41.202.171.248   Mon Nov 19 14:09 - 14:09  (00:00)

 

五、安全日誌

 

/var/log/secure 這個日誌會記錄系統的登陸信息,成功失敗都會記錄。若是系統有可能被暴力能夠查看這個日誌

 

3、screen工具

    screen它是虛擬的一個屏幕,也能夠理解爲一個虛擬的終端。

    需求:執行一個腳本,時間很長 ,而且這個腳本會輸出一些信息。要保證這個腳本不能中斷。

     解決方法:一、nohup command &   把腳本丟到後臺,並加一個日誌。可是這樣沒辦法實時的查看輸出信息

                      二、screen工具,能夠把要執行的命令,放到這個終端裏,而後在退出pts/0以前,能夠把screen丟到後臺去,隨時用, 隨時查看

screen安裝:

yum install -y screen

  • 安裝完成後直接輸入screen命令,會進入到screen,進入到一個窗口,這個窗口就是一個虛擬終端
  • 虛擬終端,執行vmstat 1命令,而後 ctrl+a鍵 再按 d鍵 ,就把screen丟到後臺了
  • 執行screen ls 命令,列出當前全部的session
  • 執行screen -r 再加查看到的id 命令,再回到虛擬終端
  • 想要退出screen ,直接exit便可
相關文章
相關標籤/搜索