工作中涉及运维知识点的汇总
對工作中常見運維知識點的一個簡單匯總
0)設(shè)置阿里云pip源,加速pip更新速度
mkdir ~/.pip #創(chuàng)建文件夾
vi ~/.pip/pip.conf #添加如下內(nèi)容
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
如果是臨時使用,在使用的時候,也可以采用如下方式:
pip install django -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
1)獲取當(dāng)前系統(tǒng)時間 YYYY-MM-DD HH:MM:SS
v_time_eq=`date "+%F %T"`
v_time=`date "+%Y-%m-%d %H:%M:%S"`
一個簡單的日志函數(shù)
function log()
{
echo `date "+%Y-%m-%d %H:%M:%S"`
}
2)shell函數(shù)
#!/bin/sh
function test()
{
echo "arg1 = $1"
if [ $1 = "1" ] ;then
echo "19010"
else
echo "0"
fi
}
echo 語句
該方式是一個非常安全的返回方式,即通過輸出到標(biāo)準(zhǔn)輸出返回。因為子進(jìn)程會繼承父進(jìn)程的標(biāo)準(zhǔn)輸出,因此,子進(jìn)程的輸出也就直接反應(yīng)到父進(jìn)程。
接收方式:可以通過$( )獲取返回值
vul=$(test 1)
$?:是顯示最后命令的退出狀態(tài),0表示沒有錯誤,其他表示有錯誤;當(dāng)函數(shù)有return時,$?表示函數(shù)的返回值;
4)Linux文件查看命令cut
-d:指定字段的分隔符,默認(rèn)的字段分隔符為“TAB”;
-f:顯示指定字段的內(nèi)容;
樣例
cat wang.txt |cut -d "," -f2 |cut -d ":" -f2
5)linux shell腳本中執(zhí)行多個命令的方法
第一種是以分號(;)進(jìn)行劃分:
表示:各命令的執(zhí)行的果,不會影響其它命令的執(zhí)行。換句話說,各個命令都會執(zhí)行,但不保證每個命令都執(zhí)行成功。
第二種命令之間&&隔開
表示:若前面的命令執(zhí)行成功,才會去執(zhí)行后面的命令。這樣可以保證所有的命令執(zhí)行完畢后,執(zhí)行過程都是成功的。
第三種每個命令之間用||隔開
表示:||是或的意思,只有前面的命令執(zhí)行失敗后才去執(zhí)行下一條命令,直到執(zhí)行成功一條命令為止。
5)
^ 匹配行開始,如:/^sed/匹配所有以sed開頭的行。
$ 匹配行結(jié)束,如:/sed$/匹配所有以sed結(jié)尾的行。
6)當(dāng)出現(xiàn)有多個雙引號和單引號,又想一塊顯示出來,可以采用如下的方式
echo '{"insecure-registries":["{$ip}:4000"]}' > /etc/docker/daemon.json
string1='{"insecure-registries":["'
string2=':4000"]}"'
ip="172.168.0.1"
echo "$string1" "$ip" "$string2"
7) wget 用來從指定的URL下載文件
文件自動儲存到指定的目錄下,則需要借用-P這個參數(shù),可以使用以下的指令
wget -P 目錄 網(wǎng)址
舉例來說,如果你要放到/root底下,你可以打下列的指令:
wget -P /root 網(wǎng)址
8)gzip知識點
壓縮文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網(wǎng)絡(luò)傳輸文件時,可以減少傳輸?shù)臅r間。
gzip是在Linux系統(tǒng)中經(jīng)常使用的一個對文件進(jìn)行壓縮和解壓縮的命令,既方便又好用。
語法:gzip [選項] 壓縮(解壓縮)的文件名
語法:gzip [選項] 壓縮(解壓縮)的文件名
各選項的含義:
-c 將輸出寫到標(biāo)準(zhǔn)輸出上,并保留原有文件。
-d 將壓縮文件解壓。
-l 對每個壓縮文件,顯示下列字段: 壓縮文件的大小 未壓縮文件的大小 壓縮比 未壓縮文件的名字
-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮。
-t 測試,檢查壓縮文件是否完整。
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比。
-num 用指定的數(shù)字num調(diào)整壓縮的速度,
壓縮效率是一個介于1-9的數(shù)值,預(yù)設(shè)值為"6",指定愈大的數(shù)值,壓縮效率就會愈高。
--best 此參數(shù)的效果和指定"-9"參數(shù)相同。
--fast 此參數(shù)的效果和指定"-1"參數(shù)相同。
-1或--fast表示最快壓縮方法(低壓縮比),
-9或--best表示最慢壓縮方法(高壓縮比)。系統(tǒng)缺省值為6。
樣例:
gzip *壓縮
gzip -dv * 解壓
解壓縮:
Linux下以tar.gz為擴(kuò)展名的軟件包,是用tar程序打包并用gzip程序壓縮的軟件包。要安裝這種軟件包,
需要先對軟件包進(jìn)行解壓縮,使用“tar -zxfv filename.tar.gz”可以對軟件包進(jìn)行解壓縮,
解壓縮所得的文件在以filename為名的目錄中。進(jìn)入該目錄,可以看到解壓縮出來的文件了
tar –czf jpg.tar.gz *.jpg 將目錄里所有jpg文件打包成jpg.tar后,并且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz
9)將文件 file1.txt 設(shè)為所有人皆可讀取 :
chmod ugo+r file1.txt
10)只是下載pip依賴包,但是不安裝
pip download -r /root/kolla/requirements.txt -r /root/kolla/test-requirements.txt
或者
pip install -d /root/pypiserver -r /root/kolla/requirements.txt -r /root/kolla/test-requirements.txt
11)sed相關(guān)內(nèi)容
sed -i 就是直接對文本文件進(jìn)行操作的
sed -i 's/原字符串/新字符串/' /home/1.txt ---只改出現(xiàn)的第一個
sed -i 's/原字符串/新字符串/g' /home/1.txt ----所有的涉及原字符串的都修改
sed -i 's/原字符串/替換字符串/g' filename //替換文件中的所有匹配項
11)yum源知識點
顯示yum倉庫
yum repolist 查看yum倉庫信息
yum repolist all(顯示所有)
使用新的repo源時,必須要做得步驟
yum clean all
yum makecache
12)把遠(yuǎn)程yum源服務(wù)器的包同步到本地yum源服務(wù)器上
方式一:前提是遠(yuǎn)程服務(wù)器支持rsync
rsync命令是一個遠(yuǎn)程數(shù)據(jù)同步工具
-a, --archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD。
-r, --recursive 對子目錄以遞歸模式處理
-v, --verbose 詳細(xì)模式輸出。
-t, --times 保持文件時間信息。
樣例:
rsync -avrt --delete rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/ /home/www/Centos/7/os/x86_64/Packages
紅色部分為遠(yuǎn)程yum源服務(wù)器上要同步的目錄(repodata所在的那一級),粉色為要存放數(shù)據(jù)的本地yum源服務(wù)器上的路徑
rsync -avrt --delete rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/Packages/ /home/www/Centos/7/extras/x86_64/Packages
rsync -avrt --delete rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/updates/x86_64/Packages/ /home/www/Centos/7/updates/x86_64/Packages
提供幾個支持rsync同步的網(wǎng)站
http://mirrors.kernel.org
http://rsync.mirrors.ustc.edu.cn
http://mirrors.neusoft.edu.cn
方式二:使用reposync 命令
在使用第二種方法之前,需要提前把同步網(wǎng)站的repo文件下載到本地(url可以具體到某個具有repodata的目錄),并且yum makecache一下
yum install createrepo yum-utils -y
安裝這兩個工具主要使用 createrepo 和reposync 這兩個命令
reposync (前提條件是遠(yuǎn)程的.repo文件,已經(jīng)拷貝到本地,.repo文件中url換成你要的地址,有repodata那一級目錄)
-r REPOID, --repoid=REPOID
specify repo ids to query, can be specified multiple times (default is all enabled)
-p DESTDIR, --download_path=DESTDIR
Path to download packages to: defaults to current dir
如果有新的包添加進(jìn)了x86_64、extra、updates的任意一個目錄中,都需要createrepo --update dir來更新yum源服務(wù)器的索引。客戶端也需要yum makecache一下
已經(jīng)下載過的會跳過,執(zhí)行下載的時候 -p為指定目錄,不然它會自動在當(dāng)前目錄創(chuàng)建”/base/Packages”目錄,再將rpm包存入該目錄下。
樣例:reposync -r epel -p /home/www/bak
操作步驟:先yum clean all了一下,然后把repo文件的url寫成遠(yuǎn)程yum源你要同步目錄的url,再yum makecache ,通過yum repolist 把repoid找出來,最后通過reposync -r yum-cd -p /home/www/suning,同步到本地
兩種方式同步完以后,使用createrepo 建立本地索引
createrepo?-pdo /var/www/html/epel/ /var/www/html/epel/
會在epel目錄下出現(xiàn)一個repodata的目錄
#第一個目錄是repodata存放目錄,第二個目錄是需要生成索引信息yum源倉庫目錄,在建立索引的時候,不能在/var/www/html/epel/ 的子目錄創(chuàng)建,否則一直創(chuàng)建失敗
樣例:createrepo -pdo /home/www/mariadb/10.0/centos7-amd64 /home/www/mariadb/10.0/centos7-amd64
13)確認(rèn)你的CentOS 的版本
# cat /etc/redhat-release
CentOS release 6.6 (Final)
14)其他
RPMS中的軟件包是直接可以用rpm來安裝的,而SRPMS中的軟件包是需要先編譯再用rpm安裝的
noarch是no architecture的縮寫,說明這個包可以在各個不同的cpu上使用percona-release-0.1-3.noarch.rpm以noarch命名的rpm包,是一個yum 倉庫包,安裝完這個包以后,yum倉庫就自動有了,并且這個rpm包里面還有g(shù)pg key,自動把gpg key放入相應(yīng)的/etc/pki/rpm-gpg目錄
15)只是下載rpm包,而不進(jìn)行安裝
1)方法一:yum
yum命令本身就可以用來下載一個RPM包,標(biāo)準(zhǔn)的yum命令提供了--downloadonly(只下載)的選項來達(dá)到這個目的。
$ sudo yum install --downloadonly <package-name>
默認(rèn)情況下,一個下載的RPM包會保存在下面的目錄中:
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
以上的[repository]表示下載包的來源倉庫的名稱(例如:base、fedora、updates)
如果你想要將一個包下載到一個指定的目錄(如/tmp):
$ sudo yum install --downloadonly --downloaddir=/tmp <package-name>
注意,如果下載的包包含了任何沒有滿足的依賴關(guān)系,yum將會把所有的依賴關(guān)系包下載,但是都不會被安裝。
另外一個重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安裝一個單獨yum插件(名稱為 yum-plugin-downloadonly)才能使用--downloadonly命令選項:
$ sudo yum install yum-plugin-downloadonly
如果沒有該插件,你會在使用yum時會報如下錯誤
Command line error: no such option: --downloadonly
2)方法二: Yumdownloader
另外一個下載RPM包的方法就是通過一個專門的包下載工具--yumdownloader。 這個工具是yum工具包(包含了用來進(jìn)行yum包管理的幫助工具套件)的子集。
$ sudo yum install yum-utils
下載一個RPM包:
$ sudo yumdownloader <package-name>
下載的包會被保存在當(dāng)前目錄中。你需要使用root權(quán)限,因為yumdownloader會在下載過程中更新包索引文件。與yum命令不同的是,任何依賴包不會被下載。
下載示例:
yumdownloader lsof --resolve --destdir=/data/mydepot/ #resolve下載依賴
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/potato-chip/p/9747855.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的工作中涉及运维知识点的汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。