图源:
系统基础设置
网络设置
-
IP
-
子网掩码(netmask)
-
网关(gateway)
-
DNS
网络设置大致可以分为手动设置和DHCP两种,前者需要手动指定上边的配置项,而后者可以通过路由协议自动获取到相关的配置项(对于家庭网络来说,就是依赖于路由器的DHCP功能)。
除此之外,网卡也比较重要,电脑是通过网卡进行网络通信的,而一个设备上可以有多个网卡,所以我们需要根据网卡名称识别不同的网卡设备,在CentOS 7中,不同的网卡命名有以下区分:
-
eno1:板载网卡
-
ens1:板载的PCIE接口网卡
-
enp2s0:外接的PCIE接口网卡,可以有多个插槽,用s0、s1等进行区分
-
eth0:默认的网卡名称
手动设置网络参数
通过nmcli
(netwaork manager command-line tool)命令可以查看网络管理的相关信息。
如果要查看当前的网络连接信息:
[icexmoon@xyz ~]$ nmcli connection show
NAME UUID TYPE DEVICE
ens33 a4ab5107-023a-427a-8d69-0160a59afb41 ethernet ens33
virbr0 455880b2-fdcd-4502-81a0-4c9cd0f429a1 bridge virbr0
这些字段的含义为:
-
NAME:网络连接名称
-
UUID:网卡的UUID
-
TYPE:网络连接类型
-
DEVICE:网卡的设备名称
如果要查看某个连接的详细信息:
[icexmoon@xyz ~]$ nmcli connection show ens33 | grep -E '(ipv4|autoconnect)'
connection.autoconnect: 是
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.autoconnect-slaves: -1(default)
ipv4.method: manual
ipv4.dns: --
ipv4.dns-search: --
ipv4.dns-options: ""
ipv4.dns-priority: 0
ipv4.addresses: 192.168.1.105/24
ipv4.gateway: 192.168.1.1
ipv4.routes: --
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: --
ipv4.ignore-auto-routes: 否
ipv4.ignore-auto-dns: 否
ipv4.dhcp-client-id: --
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: 是
ipv4.dhcp-hostname: --
ipv4.dhcp-fqdn: --
ipv4.never-default: 否
ipv4.may-fail: 是
ipv4.dad-timeout: -1 (default)
这里比较重要的信息有:
-
connection.autoconnect
:是否开机后自动连接(yes/no)。 -
ipv4.method
:IPV4协议的设置方式,如果是manual
就是手动设置,如果是auto
就是通过DHCP自动设置。 -
ipv4.dns
:IPV4协议的DNS(域名解析服务)。 -
ipv4.addresses
:IPV4协议的IP地址和子网掩码。 -
ipv4.gateway
:IPV4协议的网关(对于家庭网络来说就是路由器的IP)。
同样可以通过nmcli
命令修改IPV4协议的相关网络设置:
[root@xyz ~]# nmcli connection modify ens33 \
> connection.autoconnect yes \
> ipv4.method manual \
> ipv4.addresses 192.168.1.106/24 \
> ipv4.gateway 192.168.1.1
当然,这样只是修改配置,还需要重启该网络连接让修改后的配置生效:
[root@xyz ~]# nmcli connection up ens33
如果你和我一样是通过SSH连接的虚拟机,修改IP并生效后会导致终端失连,需要重新用新的IP建立SSH连接:
❯ ssh icexmoon@192.168.1.106 The authenticity of host '192.168.1.106 (192.168.1.106)' can't be established. ECDSA key fingerprint is SHA256:1QhEZXO0k0317Urj1emTYXg7gkmi1xlgB0hjhQnvTuE. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.1.106' (ECDSA) to the list of known hosts. icexmoon@192.168.1.106's password: Last login: Fri Sep 10 15:24:38 2021 from icexmoon-book [icexmoon@xyz ~]$ nmcli connection show ens33 | grep ipv4.add ipv4.addresses: 192.168.1.106/24
自动获取IP
自动获取IP也就是依赖DHCP协议来动态获取IP,我们只需要将IPV4协议中的ipv4.method
参数修改为auto
即可:
[root@xyz ~]# nmcli connection show ens33 | grep ipv4.method
ipv4.method: manual
[root@xyz ~]# nmcli connection modify ens33 \
> ipv4.method auto
[root@xyz ~]# nmcli connection up ens33
事实上除了使用
nmcli
命令,还可以直接修改相关网络配置文件的方式修改IP等网络参数,很多网上的教程也是这么指导的,但是这样可能会发生一些奇奇怪怪的问题,所以还是推荐使用nmcli
命令。
修改主机名
可以通过hostnamectl
这个命令修改主机名:
[root@xyz ~]# hostnamectl status
Static hostname: xyz.icexmoon.centos
Icon name: computer-vm
Chassis: vm
Machine ID: f5a85e92d51e4d40975fd956fd775f9c
Boot ID: cd528028cc0649188c340d416b0f877d
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
[root@xyz ~]# hostnamectl set-hostname centos.icexmoon.xyz
[root@xyz ~]# cat /etc/hostname
centos.icexmoon.xyz
[root@xyz ~]# hostnamectl set-hostname xyz.icexmoon.centos
使用hostnamectl status
可以显示主机名和一些其他的主机信息。
日期与时间设置
时区的显示与设置
使用timedatectl
可以查看当前系统中的日期与时间相关设置:
[root@xyz ~]# timedatectl
Local time: 五 2021-09-10 16:24:29 CST # 本地时间
Universal time: 五 2021-09-10 08:24:29 UTC # 标准时间(格林尼治时间)
RTC time: 五 2021-09-10 08:24:29
Time zone: Asia/Shanghai (CST, +0800) # 当前时区
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
使用timedatectl
可以列出可选的时区:
[root@xyz ~]# timedatectl list-timezones | grep -i new
America/New_York
America/North_Dakota/New_Salem
假如我们要修改时区为America/New_York
:
[root@xyz ~]# timedatectl set-timezone 'America/New_York'
[root@xyz ~]# timedatectl
Local time: 五 2021-09-10 04:29:20 EDT
Universal time: 五 2021-09-10 08:29:20 UTC
RTC time: 五 2021-09-10 08:29:19
Time zone: America/New_York (EDT, -0400)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
日 2021-03-14 01:59:59 EST
日 2021-03-14 03:00:00 EDT
Next DST change: DST ends (the clock jumps one hour backwards) at
日 2021-11-07 01:59:59 EDT
日 2021-11-07 01:00:00 EST
可以看到UTC没变,但本地时间变了,因为我们这里的时间要比北美时间早12个小时。
之所以北美时间会多出来一个DST的东西,是因为美国采用夏令时(DST)制度,详细内容可以阅读。
修改日期和时间
timedatectl
同样可以用来修改日期和时间:
[root@xyz ~]# timedatectl set-time '2021-09-15 00:00:00'
[root@xyz ~]# date '+%Y-%m-%d'
2021-09-15
虽然
date
命令也可以修改时间,但是用该命令修改以后需要使用hwclock
命令更新BIOS中的时间,而timedatectl
则会在时间修改后自动更新BIOS中的时间。
网络时间校准
与其手动修改时间,更为方便的做法是通过网络上的时间服务器来自动校准时间:
[root@xyz ~]# ntpdate time.windows.com
10 Sep 16:42:26 ntpdate[4671]: step time server 52.231.114.183 offset -372130.297442 sec
[root@xyz ~]# hwclock -w
ntpdate
命令可以通过指定的时间校准服务器来校准本地时间,hwclock -w
(hardware clock)用于将校准后的时间写入BIOS内。
ntp的意思是Network Time Protocol,即网络时间协议,这是一种计算机通过网络来同步时间的协议,详细内容可以阅读。
之所以BIOS中的时间(hardware clock)比较特殊,是因为“硬件时间”是单独存储在主板上的寄存器内的,并且会由主板上的电池单独持续供电,即使是长时间电源断电也会保存时间。
语言设置
如果要查看当前系统的语言设置:
[root@xyz ~]# localectl
System Locale: LANG=zh_CN.UTF-8
VC Keymap: cn
X11 Layout: cn,au
X11 Variant: ,
X11 Options: grp:ctrl_shift_toggle
如果要查看bash
的语言设置:
[root@xyz ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
如果要将当前的中文图形界面切换为英文:
[root@xyz ~]# localectl set-locale LANG=en_US.utf8
[root@xyz ~]# systemctl isolate multi-user.target
[root@xyz ~]# systemctl isolate graphical.target
防火墙简易设置
个人觉得《鸟哥的Linux私房菜》这一小节的内容比较浅显,使用价值不高,所以不做总结,感兴趣的可以直接阅读原文。
服务器硬件信息收集
dmidecode
CentOS有一个dmidecode
(DMI decode)工具,可以用它输出很多硬件相关的有用信息,包括CPU、主板、内存的型号等。
DMI全称Desktop Management Interface,又称MSBIOS(System Management BIOS),是用来收集硬件信息的统一规范,更多内容可以阅读。
比如我们想查看主板相关的硬件信息:
[root@xyz ~]# dmidecode -t 1
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: VMware, Inc.
Product Name: VMware Virtual Platform
Version: None
Serial Number: VMware-56 4d a5 3b 0c d0 95 b3-25 a5 7f da 76 72 06 e1
UUID: 3ba54d56-d00c-b395-25a5-7fda767206e1
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
dmidecode
命令后可以用-t
参数指定DMI类型来分别显示相关的硬件信息,DMI类型主要有以下这些:
-
1:主板型号与基本的硬件信息
-
4:CPU相关信息
-
9:系统相关的插槽类型
-
17:内存插槽的类型,如果有内存,会显示内存的容量与型号
如果要查看内存相关的信息:
[root@xyz ~]# dmidecode -t 17 | head -n 30
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x01A3, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x01A2
Error Information Handle: No Error
Total Width: 32 bits
Data Width: 32 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: RAM slot #0
Bank Locator: RAM slot #0
Type: DRAM
Type Detail: EDO
Speed: Unknown
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
硬件资源的收集与分析
除了查看硬件的相关信息,我们还需要时时注意系统中的各种硬件资源的使用情况,比如内存和硬盘的剩余空间等,硬件资源的信息收集工作可以使用以下工具:
-
gdisk
:可以使用gdisk -l
列出分区的情况,详细使用说明见。 -
dmesg
:可以输出内核的相关信息,详细使用说明见。 -
vmstat
:可以动态地报告内存、交换分区、CPU、I/O等的使用情况,详细使用说明见。 -
lspci
:列出Linux主机的所有PCI接口设备。 -
lsusb
:列出LInux主机的所有USB接口状态,以及所接的设备。 -
iostat
:与vmstat
类似,同样可以显示CPU与周边设备的I/O情况。
lspci
[root@xyz ~]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
00:10.0 SCSI storage controller: Broadcom / LSI 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 PCI bridge: VMware PCI bridge (rev 02)
00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)
...省略
如果要查看设备的详细信息:
[root@xyz ~]# lspci -s 00:01.0 -vv
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B+
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
-s
参数后跟的是lspci
输出的内容的第一列数据,其实是设备总线、插槽、函数功能等组成的数据,相关数据编码维护在/usr/share/hwdata/pci.ids
文件中:
[root@xyz ~]# cat /usr/share/hwdata/pci.ids | grep -v '^#' | head -n 20
0001 SafeNet (wrong ID)
0010 Allied Telesis, Inc (Wrong ID)
8139 AT-2500TX V3 Ethernet
0014 Loongson Technology LLC
7a00 Hyper Transport Bridge Controller
7a02 APB (Advanced Peripheral Bus) Controller
7a03 Gigabit Ethernet Controller
7a04 OTG USB Controller
7a05 Vivante GPU (Graphics Processing Unit)
7a06 DC (Display Controller)
7a07 HDA (High Definition Audio) Controller
7a08 SATA AHCI Controller
7a09 PCI-to-PCI Bridge
7a0b SPI Controller
7a0c LPC Controller
7a0f DMA (Direct Memory Access) Controller
7a14 EHCI USB Controller
其实这个文件就是对各种硬件厂商的PCI设备进行统一编码。
当然随着硬件设备的推陈出新,该编码表会过时,你可以使用下面的命令进行更新:
[root@xyz ~]# update-pciids
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:41 --:--:-- 0
该命令会运行一段时间,并且会持续刷新字符终端,所以最好让其在后台执行,并使用stdout重定向。
lsusb
[root@xyz ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
iostat
[root@xyz ~]# iostat
Linux 3.10.0-1160.el7.x86_64 (xyz.icexmoon.centos) 2021年09月10日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.59 0.00 0.75 0.03 0.00 98.63
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.86 50.41 6.75 420665 56330
dm-0 1.78 46.05 5.96 384327 49757
dm-1 0.01 0.26 0.00 2204 0
dm-2 0.04 0.72 0.30 6027 2477
默认情况下iostat
会输出CPU和硬盘的I/O相关信息,需要注意的是,这些数据都是开机到现在的平均值。
如果要查看磁盘sda的I/O,且要每两秒输出一次,总共输出三次:
[root@xyz ~]# iostat -d 2 3 sda
Linux 3.10.0-1160.el7.x86_64 (xyz.icexmoon.centos) 2021年09月10日 _x86_64_ (1 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.82 49.30 6.61 420673 56400
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
这里总共会输出三条数据,第一条是开机到当前的平均值,第二条是第一次执行和第二次执行间隔的平均值,第三条是第二次执行和第三次执行间隔的平均值。
了解磁盘的健康状况
借助smartd
服务可以查看磁盘的健康情况,smart全称Self-Monitoring Analysis and Reporting Technology System,主要用于监测STAT与SCSI接口磁盘。
使用smartd
服务有个前提是要对应的磁盘支持SMART协议。
实际使用中需要使用smartctl
命令来调用smartd
的功能,现在对VMware虚拟机执行smartctl
:
[root@xyz ~]# smartctl -a /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-1160.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: VMware,
Product: VMware Virtual S
Revision: 1.0
User Capacity: 42,949,672,960 bytes [42.9 GB]
Logical block size: 512 bytes
Rotation Rate: Solid State Device
Device type: disk
Local Time is: Fri Sep 10 17:56:02 2021 CST
SMART support is: Unavailable - device lacks SMART capability.
=== START OF READ SMART DATA SECTION ===
Current Drive Temperature: 0 C
Drive Trip Temperature: 0 C
Error Counter logging not supported
Device does not support Self Test logging
可以看到虚拟机的磁盘并不支持SMART协议。
所以这里直接摘抄《鸟哥的Linux私房菜》中的示例:
# 1. 用 smartctl 來顯示完整的 /dev/sda 的資訊
[root@study ~]# smartctl -a /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-229.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
# 首先來輸出一下這部磁碟的整體資訊狀況!包括製造商、序號、格式、SMART 支援度等等!
=== START OF INFORMATION SECTION ===
Device Model: QEMU HARDDISK
Serial Number: QM00002
Firmware Version: 0.12.1
User Capacity: 2,148,073,472 bytes [2.14 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ATA/ATAPI-7, ATA/ATAPI-5 published, ANSI NCITS 340-2000
Local Time is: Wed Sep 2 18:10:38 2015 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
# 接下來則是一堆基礎說明!鳥哥這裡先略過這段資料喔!
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
.....(中間省略).....
# 再來則是有沒有曾經發生過磁碟錯亂的問題登錄!
SMART Error Log Version: 1
No Errors Logged
# 當你下達過磁碟自我檢測的過程,就會被記錄在這裡了!
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4660 -
# 2 Short offline Completed without error 00% 4660 -
# 2. 命令磁碟進行一次自我檢測的動作,然後再次觀察磁碟狀態!
[root@study ~]# smartctl -t short /dev/sda
[root@study ~]# smartctl -a /dev/sda
.....(前面省略).....
# 底下會多出一個第三筆的測試資訊!看一下 Status 的狀態,沒有問題就是好消息!
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4660 -
# 2 Short offline Completed without error 00% 4660 -
# 3 Short offline Completed without error 00% 4660 -
备份
需要备份的数据
一般来说,Linux上需要备份的数据有:
-
/etc
-
/home
-
/var/spool/mail
-
/var/spool/at
-
/var/spool/cron
-
/boot
-
/root
-
/usr/local
-
/opt
如果安装了网络服务,比如Apache
等,可能还需要备份额外的目录:
-
网络服务相关的软件的配置文件:
/etc
或/usr/local
-
软件服务产生的数据:比如
Apache
的网站目录/var/www
-
相关的数据库文件
完整备份与累积备份
可以用于完整备份的工具有:
-
dd
-
cpio
-
xfsdump
-
tar
dd
dd
这个工具用于备份相对简单,因为如果用dd
备份磁盘或分区,是以扇区为单位1比1完整复制,可以忽略文件系统的区别,也无需对目标进行格式化。但缺点在于备份出的文件会比较大,因为是1比1备份,即使是空闲空间也会被复制出来。
# 1. 用 dd 來將 /dev/sda 備份到完全一模一樣的 /dev/sdb 硬碟上:
[root@study ~]# dd if=/dev/sda of=/dev/sdb
dd
可以将目标备份到一个大文件,也可以备份到一个分区。
cpio
cpio
的优点在于可以备份任何设备,也可以将目标备份到磁带设备中,缺点在于需要配合find
等命令筛选出需要备份的目标:
# 2. 使用 cpio 來備份與還原整個系統,假設儲存媒體為 SATA 磁帶機:
[root@study ~]# find / -print | cpio -covB > /dev/st0 <==備份到磁帶機
[root@study ~]# cpio -iduv < /dev/st0 <==還原
xfsdump
xfsdump
是专门针对xfs
文件系统的备份工具,优点是支持增量备份:
# 1. 完整備份
[root@study ~]# xfsdump -l 0 -L 'full' -M 'full' -f /backupdata/home.dump /home
# 2. 第一次進行累積備份
[root@study ~]# xfsdump -l 1 -L 'full-1' -M 'full-1' -f /backupdata/home.dump1 /home
tar
tar
的主要用途是打包文件,但同样满足备份数据的用途,对于某些特定目录和文件的简单备份,我们同样可以使用tar
实现:
[root@study ~]# tar --exclude /proc --exclude /mnt --exclude /tmp \
> --exclude /backupdata -jcvp -f /backupdata/system.tar.bz2 /
关于
dd
、tar
、cpio
、xfsdump
的更多用法和示例见。
差异备份
使用tar
命令结合-N
参数可以实现差异备份:
[root@study ~]# tar -N '2015-09-01' -jpcv -f /backupdata/home.tar.bz2 /home
# 只有在比 2015-09-01 還要新的檔案,在 /home 底下的檔案才會被打包進 home.bz2 中!
# 有點奇怪的是,目錄還是會被記錄下來,只是目錄內的舊檔案就不會備份。
使用rsync
可以实现镜像备份:
[root@study ~]# rsync -av 來源目錄 目標目錄
# 1. 將 /home/ 鏡像到 /backupdata/home/ 去
[root@study ~]# rsync -av /home /backupdata/
# 此時會在 /backupdata 底下產生 home 這個目錄來!
[root@study ~]# rsync -av /home /backupdata/
# 再次進行會快很多!如果資料沒有更動,幾乎不會進行任何動作!
rsync
的优点在于有完整备份之后再进行备份的时候备份速度会快很多。
备份案例
可以参考我的博客网站的备份方案。
以上就是Linux基础设置与备份相关的内容,谢谢阅读。
文章评论