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
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 是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命令
三、last命令
查看歷史的登陸狀況,執行last命令時它會調用/var/log/wtmp文件,並把該文件的記錄登陸系統的信息顯示出來。
[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