1.查看系統版本
[root@59-server ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
2.查看系統內核版本
[root@59-server ~]# uname -r
2.6.32-696.1.1.el6.x86_64
3.查看系統是否安裝了rsync
[root@59-server ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
如果沒有安裝
執行yum -y install rsync
4.編輯rsync服務器的配置文件
[root@59-server ~]# cat /etc/rsyncd.conf
# rsync_config__________________start
# created by weilong 1:09 2017-06-04
# qq 1107114476 blog:http://fengye5689.blog.51cto.com
### rsync.conf start###
uid = root
gid = root
use chroot = no
max connections = 200 ###->指定最大鏈接數
timeout = 300 ###->指定超時時間
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[data] ###->指定模塊
path = /data
ignore errors
read only = false
list = false
hosts allow = 172.16.0.0/24
hosts deny = 0.0.0.0/32
auth users =rsync_backup
secrets file = /etc/rsync.password
########### rsync_config_________end
5.創建對外要共享的目錄
[root@59-server ~]# mkdir -p /data
創建rsync系統用戶
[root@59-server ~]# useradd rsync -s /sbin/nologin -M
-s 指定用戶shell,
-M 不創建家目錄
6.將data目錄改爲rsync用戶擁有者和所在羣
[root@59-server ~]# chown -R rsync:rsync /data
並查看
[root@59-server ~]# ll -d /data
drwxr-xr-x 9 rsync rsync 4096 Jul 6 04:00 /data
7.創建密碼文件,並查看文件內容
[root@59-server ~]# echo "rsync_backup:weilong" >/etc/rsync.password
[root@59-server ~]# cat /etc/rsync.password
rsync_backup:weilong
修改文件權限爲600,並查看文件現在實際權限
[root@59-server ~]# chmod 600 /etc/rsync.password
[root@59-server ~]# ll /etc/rsync.password
-rw------- 1 root root 21 Jul 19 12:18 /etc/rsync.password
8.查看rsync的服務狀態,並啓動
netstat -lntup | grep rsync
-l 列表
-n 數字
-t tcp
-u udp
-p 顯示程序的名字以及PID
[root@59-server ~]# rsync --daemon
9.查看rsync服務狀態
[root@59-server ~]# lsof -i tcp:873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 12141 root 4u IPv4 40201 0t0 TCP *:rsync (LISTEN)
rsync 12141 root 5u IPv6 40202 0t0 TCP *:rsync (LISTEN)
[root@59-server ~]# ps -ef | grep rsync
root 12141 1 0 12:29 ? 00:00:00 rsync --daemon
root 12821 12049 0 14:51 pts/0 00:00:00 grep rsync
kill對應的是PID,pkill對應的是command
kill 12141
pkill rsync
10.rsync客戶端的操作,配置rsync賬號及賬號文件權限
[root@60-client ~]# echo "weilong" >/etc/rsync.password
[root@60-client ~]# chmod 600 /etc/rsync.password
11.查看rsync.password文件內容及其權限
[root@60-client ~]# cat /etc/rsync.password
weilong
[root@60-client ~]# ll /etc/rsync.password
-rw------- 1 root root 8 Jul 19 15:23 /etc/rsync.password
echo "weilong" >/etc/rsync.password
chmod 600 /etc/rsync.password
cat /etc/rsync.password
ll /etc/rsync.password
到了這裏rsync的相關配置已經大致完成了。
12.檢查部署的rsync服務
首先是打包該文件
tar -zcvf rhce_$(date +%Y%m%d%H%M).tar.gz /tmp/rhce/
然後是備份到172.16.0.59上
12.1
[root@60-client ~]# rsync -avzP /tmp/rhce_201707210153.tar.gz [email protected]::data --password-file=/etc/rsync.password
rhce_201707190354.tar.gz
941718 100% 26.27MB/s 0:00:00 (xfer#1, to-check=0/1)
sent 942122 bytes received 27 bytes 1884298.00 bytes/sec
total size is 941718 speedup is 1.00
12.2
然後是備份到172.16.0.59上
[root@60-client ~]# rsync -avzP /tmp/rhce_201707190354.tar.gz rsync://[email protected]/data --password-file=/etc/rsync.password
sending incremental file list
sent 45 bytes received 8 bytes 9.64 bytes/sec
total size is 941718 speedup is 17768.26
12.3
scp -P22 -r -p /etc [email protected]:/tmp/34etc
12.4
df -h是看磁盤容量的
[root@59-server /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 4.7G 2.9G 1.7G 64% /
tmpfs 238M 0 238M 0% /dev/shm
/dev/sda1 190M 92M 89M 51% /boot
/dev/sda3 2.9G 5.0M 2.7G 1% /usr/local
du -sh /*
13.問題排錯
13.1
rsync: failed to connect to 172.16.0.59: No route to host (113)
表示防火牆沒關,或者服務端的rsync服務沒有啓動
13.2
ERROR: The remote path must start with a module name not a /
表示雙::後面直接接模塊而不是路徑
14.案例講解:
將服務器A上的web網站目錄打包備份,並且用rsync推送到到B服務器上去
使用/var/www/html /backup
首先應該明確:liunx系統中,使用tar對文件打包時,一般不建議使用絕對路徑。
通常是在兩臺環境相似的機器上進行同步複製的時候,纔有需要使用絕對路徑進行打包。使用絕對路徑打包時如果不指定相應的參數,tar會產生一句警告信息:”tar: Removing leading `/
’ from member names”,並且實際產生的壓縮包會將絕對路徑轉化爲相對路徑。
14.1在客戶端的操作
mkdir /backup
cd /backup
tar -zcvf html_$(date +%F%H%M%S).tar.gz /var/www/html
在/etc/rsync.conf下增加模塊
[backup]
path = /backup
ignore errors
read only = false
list = false
hosts allow = 172.16.0.0/24
hosts deny = 0.0.0.0/32
auth users =rsync_backup
secrets file = /etc/rsync.password
14.2
將backup目錄改爲rsync用戶擁有者和所在羣
[root@59-server ~]# chown -R rsync:rsync /backup
並查看
[root@59-server ~]# ll -d /backup
drwxr-xr-x 9 rsync rsync 4096 Jul 6 04:00 /backup
[root@60-client ~]# rsync -avzP html_201707210343.tar.gz [email protected]::backup --password-file=/etc/rsync.password
sending incremental file list
html_201707210343.tar.gz
234 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
sent 323 bytes received 27 bytes 700.00 bytes/sec
total size is 234 speedup is 0.67
-------------------------------------------------------------------------------------------
chown命令詳解
命令格式:
chown [選項]... [所有者][:[組]] 文件...
必要參數:
-c 顯示更改的部分的信息
-f 忽略錯誤信息
-h 修復符號鏈接
-R 處理指定目錄以及其子目錄下的所有文件
-v 顯示詳細的處理信息
-deference 作用於符號鏈接的指向,而不是鏈接文件本身
選擇參數:
--reference=<目錄或文件> 把指定的目錄/文件作爲參考,把操作的文件/目錄設置成參考文件/目錄相同擁有者和羣組
--from=<當前用戶:當前羣組> 只有當前用戶和羣組跟指定的用戶和羣組相同時才進行改變
--help 顯示幫助信息
--version 顯示版本信息
查看服務器內存信息
[root@59-server ~]# cat /etc/cpuinfo
cat: /etc/cpuinfo: No such file or directory
[root@59-server ~]# cat /etc/cpui^Co
[root@59-server ~]# cat /proc/cpuinf
cat: /proc/cpuinf: No such file or directory
[root@59-server ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
stepping : 4
microcode : 33
cpu MHz : 2194.949
cache size : 3072 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up
arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt
tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ida arat epb xsaveopt pln pts dtherm fsgsbase bmi1 avx2 smep bmi2 invpcid rdseed adx
bogomips : 4389.89
clflush size : 64
cache_alignment : 64
address sizes : 42 bits physical, 48 bits virtual
power management:
lsof命令簡介:
lsof(list open files)是一個列出當前系統打開文件的工具。在Linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。所以,
lsof的功能很強大。一般root用戶才能執行lsof命令,普通用戶可以看見/usr/sbin/lsof命令,但是普通用戶執行會顯示“permission denied”。因此通過lsof工具能夠查看這個列表對系統
監測以及排錯將是很有幫助的。
在終端下輸入lsof即可顯示系統打開的文件,因爲 lsof 需要訪問核心內存和各種文件,所以必須以 root 用戶的身份運行它才能夠充分地發揮其功能。
每行顯示一個打開的文件,若不指定條件默認將顯示所有進程打開的所有文件。lsof輸出各列信息的意義如下:
COMMAND:進程的名稱
PID:進程標識符
USER:進程所有者
FD:文件描述符,應用程序通過文件描述符識別該文件。如cwd、txt等
TYPE:文件類型,如DIR、REG等
DEVICE:指定磁盤的名稱
SIZE:文件的大小
NODE:索引節點(文件在磁盤上的標識)
NAME:打開文件的確切名稱
摘錄總結lsof用法:
lsof filename.txt 顯示開啓文件filename.txt的進程
lsof -i :22 知道22端口現在運行什麼程序
lsof -c abc 顯示abc進程現在打開的文件
lsof -g gid 顯示歸屬gid的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啓的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用fd爲4的進程
lsof -i 用以顯示符合條件的進程情況
ps命令進程和作業管理 ps命令用於報告當前系統的進程狀態。可以搭配kill指令隨時中斷、刪除不必要的程序。ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪
些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是可以通過執行該命令得到的。
選項
-a:顯示所有終端機下執行的程序,除了階段作業領導者之外。
a:顯示現行終端機下的所有程序,包括其他用戶的程序。
-A:顯示所有程序。
-c:顯示CLS和PRI欄位。
c:列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,選項或常駐服務的標示。
-C<指令名稱>:指定執行指令的名稱,並列出該指令的程序的狀況。
-d:顯示所有程序,但不包括階段作業領導者的程序。
-e:此選項的效果和指定"A"選項相同。
e:列出程序時,顯示每個程序所使用的環境變量。
-f:顯示UID,PPIP,C與STIME欄位。
f:用ASCII字符顯示樹狀結構,表達程序間的相互關係。
-g<羣組名稱>:此選項的效果和指定"-G"選項相同,當亦能使用階段作業領導者的名稱來指定。
g:顯示現行終端機下的所有程序,包括羣組領導者的程序。
-G<羣組識別碼>:列出屬於該羣組的程序的狀況,也可使用羣組名稱來指定。
h:不顯示標題列。
-H:顯示樹狀結構,表示程序間的相互關係。
-j或j:採用工作控制的格式顯示程序狀況。
-l或l:採用詳細的格式來顯示程序狀況。
L:列出欄位的相關信息。