1、每12小時(shí)備份并壓縮/etc/目錄至/backup目錄中,保存文件名稱格式為,"etc-年-月-日-時(shí)-分.tar.gz"
成都創(chuàng)新互聯(lián)公司成立與2013年,先為泰興等服務(wù)建站,泰興等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為泰興企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。[root@localhost /]# crontab -e
0 */12 * * * /usr/bin/tar -zcf /data/backup/etc-$(date '+%Y-%m-%d--%H-%M').tar.gz /ect/*
2.rpm包管理功能總結(jié)以及實(shí)例應(yīng)用演示
rpm是一個(gè)功能十分強(qiáng)大的軟件包管理系統(tǒng),它使得在Linux下安裝、升級(jí)和刪除軟件包的工作變得容易,并且具有安裝、升級(jí)、卸載、查詢和校驗(yàn)、數(shù)據(jù)庫(kù)維護(hù)等功能.
rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
(1)安裝:
rpm {-i|--install} [install-options] PACKAGE_FILE ...
rpm -ivh PACKAGE_FILE ...
GENERAL OPTIONS:
-v:verbose,詳細(xì)信息
-vv:更詳細(xì)的輸出
[install-options]:
-h:hash marks輸出進(jìn)度條;每個(gè)#表示2%的進(jìn)度;
--test:測(cè)試安裝,檢查并報(bào)告依賴關(guān)系及沖突消息等;
--nodeps:忽略依賴關(guān)系;不建議;
--replacepkgs:重新安裝
注意:rpm可以自帶腳本;
四類:--noscripts
preinstall:安裝過(guò)程開(kāi)始之前運(yùn)行的腳本,%pre , --nopre
postinstall:安裝過(guò)程完成之后運(yùn)行的腳本,%post , --nopost
preuninstall:卸載過(guò)程真正開(kāi)始執(zhí)行之前運(yùn)行的腳本,%preun, --nopreun
postuninstall:卸載過(guò)程完成之后運(yùn)行的腳本,%postun , --nopostun
--nosignature:不檢查包簽名信息,不檢查來(lái)源合法性;
--nodigest:不檢查包完整性信息;
(2)升級(jí):
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
-U:升級(jí)或安裝;
-F:升級(jí)
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
--oldpackage:降級(jí);
--force:強(qiáng)制升級(jí);
注意:(1) 不要對(duì)內(nèi)核做升級(jí)操作;Linux支持多內(nèi)核版本并存,因此,直接安裝新版本內(nèi)核;
(2) 如果某原程序包的配置文件安裝后曾被修改過(guò),升級(jí)時(shí),新版本的程序提供的同一個(gè)配置文件不會(huì)覆蓋原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;
(3)卸載:
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--test] PACKAGE_NAME ...----allmatches:卸載所有匹配指定名稱的程序包的各版本;
--nodeps:忽略依賴關(guān)系
--test:測(cè)試卸載,dry run模式
(4)查詢:
rpm {-q|--query} [select-options] [query-options]
[select-options]
PACKAGE_NAME:查詢指定的程序包是否已經(jīng)安裝,及其版本;
-a, --all:查詢所有已經(jīng)安裝過(guò)的包;
-f FILE:查詢指定的文件由哪個(gè)程序包安裝生成;
-p, --package PACKAGE_FILE:用于實(shí)現(xiàn)對(duì)未安裝的程序包執(zhí)行查詢操作;
--whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個(gè)程序包提供;
--whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個(gè)包所依賴;
[query-options]
--changelog:查詢r(jià)pm包的changlog;
-l, --list:程序安裝生成的所有文件列表;
-i, --info:程序包相關(guān)的信息,版本號(hào)、大小、所屬的包組,等;
-c, --configfiles:查詢指定的程序包提供的配置文件;
-d, --docfiles:查詢指定的程序包提供的文檔;
--provides:列出指定的程序包提供的所有的CAPABILITY;
-R, --requires:查詢指定的程序包的依賴關(guān)系;
--scripts:查看程序包自帶的腳本片斷;
用法:
-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE, ...
(5)校驗(yàn):
rpm {-V|--verify} [select-options] [verify-options]
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
包來(lái)源合法性驗(yàn)正和完整性驗(yàn)正:
來(lái)源合法性驗(yàn)正:
完整性驗(yàn)正:
獲取并導(dǎo)入信任的包制作者的密鑰:
對(duì)于CentOS發(fā)行版來(lái)說(shuō):rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
驗(yàn)正:
(1) 安裝此組織簽名的程序時(shí),會(huì)自動(dòng)執(zhí)行驗(yàn)正;
(2) 手動(dòng)驗(yàn)正:rpm -K PACKAGE_FILE
(6)數(shù)據(jù)庫(kù)重建:
rpm管理器數(shù)據(jù)庫(kù)路徑:/var/lib/rpm/
查詢操作:通過(guò)此處的數(shù)據(jù)庫(kù)進(jìn)行;
獲取幫助:
CentOS 6:man rpm
CentOS 7:man rpmdb
rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]
--initdb:初始化數(shù)據(jù)庫(kù),當(dāng)前無(wú)任何數(shù)據(jù)庫(kù)可實(shí)始化創(chuàng)建一個(gè)新的;當(dāng)前有時(shí)不執(zhí)行任何操作;
--rebuilddb:重新構(gòu)建,通過(guò)讀取當(dāng)前系統(tǒng)上所有已經(jīng)安裝過(guò)的程序包進(jìn)行重新創(chuàng)建;
顯示倉(cāng)庫(kù)列表:
repolist [all|enabled|disabled]
顯示程序包:
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1] [...]
安裝程序包:
install package1 [package2] [...]
reinstall package1 [package2] [...] (重新安裝)
升級(jí)程序包:
update [package1] [package2] [...]
downgrade package1 [package2] [...] (降級(jí))
檢查可用升級(jí):
check-update
卸載程序包:
remove | erase package1 [package2] [...]
查看程序包information:
info [...]
查看指定的特性(可以是某文件)是由哪個(gè)程序包所提供:
provides | whatprovides feature1 [feature2] [...]
清理本地緩存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
構(gòu)建緩存:
makecache
搜索:
search string1 [string2] [...]
以指定的關(guān)鍵字搜索程序包名及summary信息;
查看指定包所依賴的capabilities:
deplist package1 [package2] [...]
查看yum事務(wù)歷史:
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
安裝及升級(jí)本地程序包:
localinstall rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use install)
localupdate rpmfile1 [rpmfile2] [...]
(maintained for legacy reasons only - use update)
包組管理的相關(guān)命令:
groupinstall group1 [group2] [...]
groupupdate group1 [group2] [...]
grouplist [hidden] [groupwildcard] [...]
groupremove group1 [group2] [...]
groupinfo group1 [...]
(2)yum私有倉(cāng)庫(kù)的創(chuàng)建
[root@localhost yum.repos.d]# vim epel.repo
[epel]
name=Fedora EPEL
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
/bin/bash
cat <
-n:不輸出模式空間中的內(nèi)容至屏幕;
-e script, --expression=script:多點(diǎn)編輯;
-f /PATH/TO/SED_SCRIPT_FILE
每行一個(gè)編輯命令;
-r, --regexp-extended:支持使用擴(kuò)展正則表達(dá)式;
-i[SUFFIX], --in-place[=SUFFIX]:直接編輯原文件 ;
地址定界:
(1) 空地址:對(duì)全文進(jìn)行處理;
(2) 單地址:
#:指定行;
/pattern/:被此模式所匹配到的每一行;
(3) 地址范圍
#,#:
#,+#:
#,/pat1/
/pat1/,/pat2/
$:最后一行;
(4) 步進(jìn):~
1~2:所有奇數(shù)行
2~2:所有偶數(shù)行
編輯命令:
d:刪除;
p:顯示模式空間中的內(nèi)容;
a \text:在行后面追加文本“text”,支持使用\n實(shí)現(xiàn)多行追加;
i \text:在行前面插入文本“text”,支持使用\n實(shí)現(xiàn)多行插入;
c \text:把匹配到的行替換為此處指定的文本“text”;
w /PATH/TO/SOMEFILE:保存模式空間匹配到的行至指定的文件中;
r /PATH/FROM/SOMEFILE:讀取指定文件的內(nèi)容至當(dāng)前文件被模式匹配到的行后面;文件合并;
=:為模式匹配到的行打印行號(hào);
!:條件取反;
地址定界!編輯命令;
s///:查找替換,其分隔符可自行指定,常用的有s@@@, s###等;
替換標(biāo)記:
g:全局替換;
w /PATH/TO/SOMEFILE:將替換成功的結(jié)果保存至指定文件中;
p:顯示替換成功的行;
高級(jí)編輯命令:
h:把模式空間中的內(nèi)容覆蓋至保持空間中;
H:把模式空間中的內(nèi)容追加至保持空間中;
g:把保持空間中的內(nèi)容覆蓋至模式空間中;
G:把保持空間中的內(nèi)容追加至模式空間中;
x:把模式空間中的內(nèi)容與保持空間中的內(nèi)容互換;
n:覆蓋讀取匹配到的行的下一行至模式空間中;
N:追加讀取匹配到的行的下一行至模式空間中;
d:刪除模式空間中的行;
D:刪除多行模式空間中的所有行;
2.結(jié)合實(shí)例演示:
(1)打印 /etc/passwd 文件的第三行,原文件所有行也將打印:sed ‘3p’ /etc/passwd
(2)只打印 /etc/passwd 文件的第三行sed -n ‘3p’ /etc/passwd
(3)只打印 /etc/passwd 文件的第一行到第四行sed -n '1,4p' /etc/passwd
(4)只打印 /etc/passwd 文件中包行root字符的所有行sed -n '/root/p' /etc/passwd
(5)第一行打印行號(hào),第二行打印行內(nèi)容,循環(huán)打印所有匹配到的行sed -n -e '/root/p' -e '/root/=' /etc/passwd
(6)在匹配行的下一行添加superman,并換行添加over。支持添加多行內(nèi)容。sed ‘/root/a\superman\nover’ /etc/passwd
(7)在匹配行的上一行添加superman,并換行添加over。支持添加多行內(nèi)容。sed ‘/root/i\superman\nover’ /etc/passwd
(8)在匹配行的行替換為superman和over新行。支持替換為多行內(nèi)容。sed ‘/root/c\superman\nover’ /etc/passwd
(9)刪除file中的空行并打印sed ‘/^$/d’ file
(10)將root替換為rootsuperman字符串,其中&代表是每一個(gè)匹配的結(jié)果,如一行中有多個(gè)字符串匹配則只選取第一個(gè)匹配結(jié)果sed -n 's/root/&superman/p' /etc/passwd
(11)刪除/etc/fstab文件中所有以#開(kāi)頭的行的行首的#號(hào)及#后面的所有空白字符sed 's@^#[[:space:]]*@@' /etc/fstab
awk '$9>400{print $1}' /var/log/httpd/access_log | sort -n | uniq -c
sed -nr 's@^(.*)- -.*" ([0-9]{3}).*@\1,\2@p' /var/log/httpd/access_log | grep '.* ,[4|5].*' | sort -nr | uniq -c
[root@httpd-server yum.repos.d]# vim epel.repo
[epel]
name=Fedora EPEL
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
yum install -y ftp openssh curl wget tcpdum &> /dev/null
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。