rsync 通過服務的方式同步
倆臺機器傳檔案IP地址交叉編寫。
主機1:
要編輯配置檔案 /etc/rsyncd.conf
rsyncd.conf樣例
port=873 #埠
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=10.211.55.16 #(本機IP)
[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=10.211.55.40 #遠端機器IP
主機2:
要編輯配置檔案 /etc/rsyncd.conf
rsyncd.conf樣例
port=873 #埠
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=10.211.55.40 #(本機IP)
[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=10.211.55.16 #遠端機器IP
配置檔案講解:
port 指定rsync哪個埠,預設873
log file 指定日誌檔案
pid file指定pid檔案,這個檔案的作用設計服務的啟動、停止等程式管理操作
address指定啟動rsync服務的IP,假如機器有多個IP,可以指定其中一個啟動rsync服務,如果不指定該引數,預設在全部IP 上啟動
[]指定模組名,裡面內容自定義
path指定資料存放的路徑
use chroot tru|false: 表示在傳輸檔案前首先chroot到path引數所指定的目錄下。
這樣做的原因是實現額外的安全防護,但缺點是需要以root許可權,並且不能備份指向外部的符號連線所指向的目錄檔案。預設情況下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
[root@centos7 ~]# rsync --daemon
檢視是否啟動服務程式:
[root@centos7 ~]# ps aux|grep rsync
root 1358 0.0 0.0 114652 520 ? Ss 00:37 0:00 rsync --daemon
root 1368 0.0 0.0 112676 984 pts/0 S+ 00:37 0:00 grep --color=auto rsync
[root@centos7 ~]# netstat -lntp
tcp 0 0 10.211.55.16:873 0.0.0.0:* LISTEN 780/rsync
[root@centos7 ~]# chmod 777 /tmp/rsync/
檢測埠是否通的命令:[root@centos7 ~]# yum install -y telnet
兩臺機器分別telnet
telnet 10.211.55.16 873
telent 10.211.55.40 873
如果開啟了iptables服務和firewalld防火牆服務,先關閉firewalld服務
停止firewalld
[root@centos7 ~]# systemctl stop firewalld.service
[root@centos7 ~]# systemctl disable firewalld.service
格式:rsync -av test1/ 192.168.133.130::module/dir/
::mdule 表示配置檔案的模組名
rsync -avP test1/ 192.168.133.130::test/dir/
[root@centos7 ~]# rsync -avP test1/ 10.211.55.40::test/
sending incremental file list
./
1.txt
32822 100% 52.73kB/s 0:00:00 (xfer#1, to-check=17/19)
test/ 包含的路徑是/tmp/rsync/ 這是在test模組中定義的path決定。
也可以指定埠
rsync -avLP --port 873 192.168.133.130::test/ /tmp/test/
[root@centos7 ~]# rsync -avLP --port 873 10.211.55.40::test/ /tmp/test/
receiving incremental file list
created directory /tmp/test
./
1.txt
0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/2)
sent 48 bytes received 113 bytes 107.33 bytes/sec
total size is 0 speedup is 0.00
[root@centos7 ~]# ls /tmp/test/
1.txt
自動列出模組名:
[root@centos7 ~]# rsync --port=873 10.211.55.40::
test
服務端:
傳輸時驗證密碼:
auth users=test
secrets file=/etc/rsyncd.passwd
密碼檔案:
vi /etc/rsyncd.passwd
格式是:
使用者:密碼
test:600
免輸入密碼:
[root@centos7 ~]# vi /etc/rsyncd_pass.txt
[root@centos7 ~]# chmod 600 !$
chmod 600 /etc/rsyncd_pass.txt
[root@centos7 ~]# rsync -avP /tmp/test/ --port 873 --password-file=/etc/rsync_pass.txt test@10.211.55.40::test/
sending incremental file list
sent 40 bytes received 8 bytes 96.00 bytes/sec
total size is 0 speedup is 0.00
配置檔案中也可以寫多個IP
hosts allow=10.211.55.16 10.211.55.17 192.168.133.0/24(IP段) #遠端機器IP
linux系統日誌
/var/log/messages
logrotate系統服務可以自動切割日誌檔案
[root@centos7 ~]# ls /var/log/
/etc/logrotate.conf 日誌切割配置檔案
dmesg命令
/var/log/dmesg 日誌 儲存在記憶體中。
情況日誌:[root@centos7 ~]# dmesg -c
重啟也會自動生成,記錄系統日誌
last命令,呼叫的檔案/var/log/wtmp
二進位制檔案只能用last /var/log/wtmp去看。
lastb命令檢視登入失敗的使用者,對應的檔案是 /var/log/btmp
lastb /var/log/btmp
安全日誌:
/var/log/secure
screen工具
為了不讓一個任務意外中斷。
後臺執行:nohup command &
screen是一個虛擬終端
安裝包:
yum install -y screen
screen直接回車就進入了虛擬終端
vmstat 1
ctral a組合鍵再按d退出虛擬終端,但不是結束
[root@centos7 ~]# screen
[detached from 1380.pts-0.centos7]
screen -ls 檢視虛擬終端列表
[root@centos7 ~]# screen -ls
There are screens on:
1380.pts-0.centos7 (Detached)
1324.pts-0.centos7 (Detached)
2 Sockets in /var/run/screen/S-root.
screen -r id 進入指定的終端
[root@centos7 ~]# screen -r 1380
但是我不知道screen裡面執行了什麼程式
自定義screen名字:screen -S "test_screen"
[root@centos7 ~]# screen -S "test_screen"
回車
Sleep 100
Sctrl + a +d
[detached from 1401.test_screen]
[root@centos7 ~]# screen -ls
There are screens on:
1401.test_screen (Detached)
screen -r test_screen 回到原來的螢幕。