rsync通過服務的方式同步
- 要編輯配置文件 /etc/rsyncd.conf
- 啓動服務 rsync --daemon
- 格式: rsync -va test1/ 192.168.77.129::/tmp/test2/
rsyncd.conf樣例
port=873 # 指定在哪個端口啓動rsyncd服務,默認是873
log file=/var/log/rsync.log # 指定日誌文件
pid file=/var/run/rysncd.pid # 指定pid文件,這個文件的作用涉及服務的啓動、停止等進程管理操作
address=192.168.77.134 # 指定啓動rsyncd服務的IP。假如你的機器有多個IP,就可以指定由其中一個啓動rsyncd服務,如果不指定該參數,默認是在全部IP上啓動
[test] # 指定模塊名,裏面內容(test)自定義。
path=/root/rsync # 指定數據存放的路徑
use chroot=true # 表示在傳輸文件前首先chroot到path參數所指定的目錄下。這樣做的原因是實現額外的安全防護,但缺點是需要root權限,並且不能備份指向外部的符號連接所指向的目錄文件。默認情況下chroot值爲true,如果你的數據當中有軟連接文件,建議設置成false。
max connections=4 # 指定最大的連接數,默認是0,即沒有限制
read only=false # 如果爲true,則不能上傳到該模塊指定的路徑下
list=true # 表示當用戶查詢該服務器上的可用模塊時,該模塊是否被列出,設定爲true則列出,false則隱藏。
uid=root # 指定傳輸文件時以哪個用戶的身份傳輸
gid=root # 指定傳輸文件時以哪個組的身份傳輸
auth users=test # 指定傳輸時要使用的用戶名。
secrets file=/etc/rsyncd.passwd # 指定密碼文件,該參數連同上面的參數如果不指定,則不使用密碼驗證。注意該密碼文件的權限一定要是600,格式:用戶名:密碼
hosts allow # 表示被允許連接該模塊的主機,可以是IP或者網段,如果是多個,中間用空格隔開
當設置了auth users和secrets file後,客戶端連服務端也需要用用戶名密碼了,若想在命令行中帶上密碼,可以設定一個密碼文件,然後傳輸是通過--password-file來指定密碼文件:
rsync -avL [email protected]::test/test1/ /tmp/test8/ --password-file=/etc/pass # 其中/etc/pass內容就是一個密碼(與服務端的密碼文件不一致!!),權限要改爲600
Liunx系統日誌
- /var/log/messages 系統總日誌文件
- /etc/logrotate.conf 日誌切割配置文件
- 參考文章 https://linux.cn/article-4126-1.html
[root@test-a ~]# tail /var/log/messages
Nov 2 07:00:01 test-a systemd: Starting Session 5 of user root.
Nov 2 07:00:01 test-a systemd: Started Session 5 of user root.
Nov 2 07:01:01 test-a systemd: Starting Session 6 of user root.
Nov 2 07:01:01 test-a systemd: Started Session 6 of user root.
Nov 2 07:10:01 test-a systemd: Starting Session 7 of user root.
Nov 2 07:10:01 test-a systemd: Started Session 7 of user root.
Nov 2 07:20:01 test-a systemd: Starting Session 8 of user root.
Nov 2 07:20:01 test-a systemd: Started Session 8 of user root.
Nov 2 07:30:01 test-a systemd: Starting Session 9 of user root.
Nov 2 07:30:01 test-a systemd: Started Session 9 of user root.
[root@test-a ~]# ls /var/log/messages* # 日誌文件切割後的所有文件
/var/log/messages /var/log/messages-20181023
/var/log/messages-20181010 /var/log/messages-20181028
/var/log/messages-20181015
[root@test-a ~]# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly # 每週切割
# keep 4 weeks worth of backlogs
rotate 4 # 保留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
}
# system-specific logs may be also be configured here.
dmesg命令
把系統硬件的相關日誌(內存中的)打印輸出
- dmesg -c 清空內存的dmesg日誌
- /var/log/dmesg 系統啓動的日誌,和dmesg命令沒關係
last命令
查看正常的登錄歷史和重啓記錄,調用的文件/var/log/wtmp,這個文件時二進制文件,不能用cat查看到具體信息
lastb命令
顯示用戶錯誤的登錄記錄,調用的文件/var/log/btmp,也不能通過cat查看詳細信息
安全日誌文件/var/log/secure
記錄嘗試登錄系統的所有記錄
screen工具
- 爲了不讓一個任務意外中斷
- nohup command &
- screen 是一個虛擬終端
- 安裝 yum install -y screen
- screen 直接回車就進入了虛擬終端
- ctrl + a 組合鍵再按d退出終端,但不是結束
- screen -ls 查看虛擬終端列表
- screen -r id 進入指定的終端
- screen -S testscreen # 爲終端定義一個名稱
- screen -r testscreen
[root@test-a ~]# screen # 進入虛擬終端
[root@test-a ~]# vmstat 2 # 虛擬終端執行一個任務
[detached from 2661.pts-0.test-a] # ctrl+a 後按d退出虛擬終端,2661就是id
[root@test-a ~]# screen -r 2661 # 進入終端
[root@test-a ~]# exit # 退出虛擬終端
[screen is terminating]
[root@test-a ~]# screen -S testscreen
[root@test-a ~]# screen -ls
There is a screen on:
2708.testscreen (Detached)
1 Socket in /var/run/screen/S-root.
# 可以通過id或名稱進入虛擬終端
[root@test-a ~]# screen -r testscreen
[root@test-a ~]# screen -r 2708