[root@etcd03 backup]# crontab -l 0 */12 * * * tar -czvf /backup/etc-`date +%Y-%m-%d-%H-%M.tar.gz` /etc
rpm命令:rpm [OPTIONS] [PACKAGE_FILE]php
安裝:-i, --install
-v:verbose,詳細信息
-vv:更詳細的輸出
-h:hash marks輸出進度條;每一個#表示2%的進度;
--test:測試安裝,檢查並報告依賴關係及衝突消息等;
--nodeps:忽略依賴關係;不建議;
--replacepkgs:從新安裝
--nosignature:不檢查包簽名信息,不檢查來源合法性;
--nodigest:不檢查包完整性信息;
--noscripts:不帶腳本信息前端
升級:-U, --update, 升級或安裝
-F, --freshen 純粹升級,必須存在老版本,不支持安裝操做
--oldpackage:降級;
--force:強制升級;
卸載:-e, --erase
--allmatches:卸載全部匹配指定名稱的程序包的各版本;
--nodeps:忽略依賴關係
--test:測試卸載,dry run模式
查詢:-q, --query
-qi PACKAGE --info:查詢程序包相關的信息,版本號、大小、所屬的包組等
-qf FILE 查詢指定的文件由哪一個程序包安裝生成
-qc PACKAGE --configfiles:查詢指定的程序包提供的配置文件
-ql PACKAGE --list:查詢程序安裝生成的全部文件列表
-qd PACKAGE --docfiles:查詢指定的程序包提供的文檔
-qR PACKAGE --requires: 查詢指定的程序包的依賴關係
-qpi PACKAGE_FILE 查詢未安裝的程序包的相關信息
-qpl PACKAGE_FILE 查詢未安裝的程序若安裝生成的全部文件列表
-qpc PACKAGE_FILE 查詢未安裝的程序若安裝生成的全部文件列表
-q --changelog: 查詢rpm包的changlognode
[root@zabbix-mysql ~]# rpm -ql mariadb /etc/my.cnf.d/client.cnf /usr/bin/aria_chk /usr/bin/aria_dump_log /usr/bin/aria_ftdump /usr/bin/aria_pack /usr/bin/aria_read_log /usr/bin/msql2mysql /usr/bin/my_print_defaults /usr/bin/mysql /usr/bin/mysql_find_rows /usr/bin/mysql_waitpid /usr/bin/mysqlaccess /usr/bin/mysqladmin /usr/bin/mysqlbinlog /usr/bin/mysqlcheck /usr/bin/mysqldump /usr/bin/mysqlimport /usr/bin/mysqlshow /usr/bin/mysqlslap /usr/share/doc/mariadb-5.5.56 /usr/share/doc/mariadb-5.5.56/COPYING /usr/share/doc/mariadb-5.5.56/COPYING.Google /usr/share/doc/mariadb-5.5.56/COPYING.Percona /usr/share/doc/mariadb-5.5.56/README /usr/share/doc/mariadb-5.5.56/README.mysql-docs /usr/share/doc/mariadb-5.5.56/README.mysql-license /usr/share/man/man1/aria_chk.1.gz /usr/share/man/man1/aria_dump_log.1.gz /usr/share/man/man1/aria_ftdump.1.gz /usr/share/man/man1/aria_pack.1.gz /usr/share/man/man1/aria_read_log.1.gz /usr/share/man/man1/my_print_defaults.1.gz /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysql_find_rows.1.gz /usr/share/man/man1/mysql_waitpid.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz /usr/share/man/man1/mysqlslap.1.gz [root@zabbix-mysql ~]# rpm -qi mariadb Name : mariadb Epoch : 1 Version : 5.5.56 Release : 2.el7 Architecture: x86_64 Install Date: Wed 21 Nov 2018 08:25:42 PM CST Group : Applications/Databases Size : 50858223 License : GPLv2 with exceptions and LGPLv2 and BSD Signature : RSA/SHA256, Fri 11 Aug 2017 02:17:53 AM CST, Key ID 24c6a8a7f4a80eb5 Source RPM : mariadb-5.5.56-2.el7.src.rpm Build Date : Sat 05 Aug 2017 05:01:21 AM CST Build Host : c1bm.rdu2.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://mariadb.org Summary : A community developed branch of MySQL Description : MariaDB is a community developed branch of MySQL. MariaDB is a multi-user, multi-threaded SQL database server. It is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MariaDB/MySQL client programs and generic MySQL files.
YUM: Yellowdog Update Modifier,完成RHEL系列前端自動解決依賴關係安裝工具,依賴rpm存在。mysql
/etc/yum.conf:爲全部yum倉庫提供公共配置 /etc/yum.repos.d/*.repo:爲倉庫的指向提供配置
[root@zabbix-mysql ~]# cat /etc/yum.conf [main] # 通用主配置段 cachedir=/var/cache/yum/x86_64/$releasever # 緩存文件文件路徑 keepcache=1 # 緩存到本地的文件是否保存 debuglevel=2 # 調試級別 logfile=/var/log/yum.log # 安裝的日誌文件 exactarch=1 # 精確嚴格的平臺 release 匹配 obsoletes=1 gpgcheck=1 # 檢測來源合法性和完整性 plugins=1 # 支持插件機制 installonly_limit=5 同時安裝多少程序包 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release #當前發行版本號從哪兒獲取 [root@zabbix-mysql ~]# ll /var/cache/yum/x86_64/7 total 28 drwxr-xr-x 4 root root 4096 May 21 23:09 aliyun drwxr-xr-x 4 root root 4096 Nov 21 18:50 base drwxr-xr-x 4 root root 4096 Apr 16 2018 centos7-yum drwxr-xr-x 4 root root 4096 Nov 21 18:50 extras drwxr-xr-x 4 root root 132 Nov 20 2018 mysql57-community drwxr-xr-x 4 root root 132 Nov 20 2018 mysql-connectors-community drwxr-xr-x 4 root root 132 Nov 20 2018 mysql-tools-community -rw-r--r-- 1 root root 183 May 21 23:09 timedhosts -rw-r--r-- 1 root root 0 May 21 23:09 timedhosts.txt drwxr-xr-x 4 root root 4096 Nov 21 18:50 updates drwxr-xr-x 4 root root 4096 Nov 22 18:16 zabbix drwxr-xr-x 4 root root 73 Nov 22 18:16 zabbix-non-supported [root@zabbix-mysql ~]# tail /var/log/yum.log Feb 14 17:33:08 Installed: apr-util-1.5.2-6.el7.x86_64 Feb 14 17:33:08 Installed: httpd-tools-2.4.6-88.el7.centos.x86_64 Mar 28 09:52:05 Installed: 2:nmap-ncat-6.40-16.el7.x86_64 Apr 08 10:55:19 Installed: libcgroup-0.41-20.el7.x86_64 Apr 08 10:55:19 Installed: libcgroup-tools-0.41-20.el7.x86_64 Apr 08 16:00:21 Updated: 14:libpcap-1.5.3-11.el7.x86_64 Apr 08 16:00:21 Installed: 14:tcpdump-4.9.2-3.el7.x86_64 Apr 28 21:52:15 Installed: iotop-0.6-4.el7.noarch May 08 18:03:45 Installed: sysstat-10.1.5-17.el7.x86_64 May 21 23:09:34 Installed: 2:nmap-6.40-16.el7.x86_64
[root@zabbix-mysql yum.repos.d]# cat aliyun.repo [aliyun] # 倉庫ID name=aliyun baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64 # yum 倉庫指定的訪問路徑(阿里源) enabled=1 # 啓用此倉庫 gpgcheck=0 # 檢查完整性和來源合法性
// 查看yum倉庫 [root@zabbix-mysql yum.repos.d]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile repo id repo name status !aliyun aliyun 10,019 repolist: 10,019 // 模糊查詢安裝包 [root@zabbix-mysql yum.repos.d]# yum search ftp Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ================================================ N/S matched: ftp ================================================= ftp.x86_64 : The standard UNIX FTP (File Transfer Protocol) client lftp-scripts.noarch : Scripts for lftp syslinux-tftpboot.noarch : SYSLINUX modules in /var/lib/tftpboot, available for network booting tftp.x86_64 : The client for the Trivial File Transfer Protocol (TFTP) tftp-server.x86_64 : The server for the Trivial File Transfer Protocol (TFTP) vsftpd.x86_64 : Very Secure Ftp Daemon vsftpd-sysvinit.x86_64 : SysV initscript for vsftpd daemon curl.x86_64 : A utility for getting files from remote servers (FTP, HTTP, and others) lftp.i686 : A sophisticated file transfer program lftp.x86_64 : A sophisticated file transfer program wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols Name and summary matches only, use "search all" for everything. // 查詢已安裝與未安裝的匹配我包 [root@zabbix-mysql yum.repos.d]# yum list *ftp* Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Installed Packages ftp.x86_64 0.17-67.el7 @centos7-yum Available Packages lftp.i686 4.4.8-11.el7 aliyun lftp.x86_64 4.4.8-11.el7 aliyun lftp-scripts.noarch 4.4.8-11.el7 aliyun syslinux-tftpboot.noarch 4.05-15.el7 aliyun tftp.x86_64 5.2-22.el7 aliyun tftp-server.x86_64 5.2-22.el7 aliyun vsftpd.x86_64 3.0.2-25.el7 aliyun vsftpd-sysvinit.x86_64 3.0.2-25.el7 aliyun
第一種:使用發行光盤做爲yum倉庫linux
mkdir /mnt/cdrom mount /dev/sr0 /mnt/cdrom
mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/
#vi /etc/yum.repos.d/mybase.repo [mybase] name=LocalYum baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1
第二種,使用本地或網絡rpm包手動建立nginx
createrepo
ftp服務:正則表達式
安裝程序包:vsftpdsql
文件存放路徑:/var/ftp/pubshell
啓動服務:service vsftpd start http服務:
安裝程序包:httpdexpress
文件存放路徑:/var/ftp/pub
啓動服務:service httpd start
createrepo
命令便可,到此就完成了本地倉庫的建立。在/etc/yum.repos.d/ 目錄下建立一個以repo結尾的文件,示例以下:
[root@localhost yum.repos.d]# yum info createrepo //查看已安裝的createrepo信息 [root@localhost yum.repos.d]# mkdir -p /yumtest/Packages [root@localhost yum.repos.d]# cp /media/cdrom/Packages/* /yumtest/Packages/ //下載所須要的全部文件到本地某個路徑 [root@localhost yum.repos.d]# createrepo /yumtest/ //建立關聯關係,完成後生成repodata root@localhost yum.repos.d]# cat Local.repo //配置yum源文件 [Local] name=Local Yum baseurl=file:///yumtest/ #baseurl=http://<repo_host>/Packages //當爲http網絡輸出時,用此配置。<repo_host>倉庫主機IP,Packages爲http發佈目錄下的軟件包目錄 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 enabled=1 [root@localhost yum.repos.d]# yum repolist //查看配置好的yum倉庫
(1)disk:show disk info信息
(2)mem: show memory info信息
(3)cpu: show cpu info信息
(*)quit
[root@etcd03 tmp]# cat test1.sh #!/bin/bash read -p "Your choice:" choice case $choice in disk) fdisk -l;; mem) cat /proc/meminfo;; cpu) lscpu;; *) exit;; esac
-n:不輸出模式空間中的內容至屏幕; -e script, --expression=script:多點編輯; -f /PATH/TO/SED_SCRIPT_FILE : 每行一個編輯命令; -r, --regexp-extended:支持使用擴展正則表達式; -i[SUFFIX], --in-place[=SUFFIX]:直接編輯原文件 ;
1)空地址:什麼都不填寫時,表示對全文進行處理 2)單地址 #:表示對指定的行 /pattern/:被此模式所匹配到的每一行,其中模式兩邊的/不能省略
#,#:從某行到某行,第二個#大於第一個# #,+#:從某行開始加多商行 #,/pattern1/:從某行開始到第一次配到模式的行 /pattern1/,/pattern2/:從第一次匹配到的模式1到第二次匹配到哦的模式2 步進:~,#~# 從第幾行 1~2:全部奇數行。從第一行開始,每次加兩行讀取 2~2:全部偶數行。從第二行開始,每次加兩行讀取
d: 刪除; p: 顯示模式空間中的內容; a \text: 在行後面追加文本「text」,支持使用\n實現多行追加; i \text: 在行前面插入文本「text」,支持使用\n實現多行插入; c \text: 把匹配到的行替換爲此處指定的文本「text」; w /PATH/TO/SOMEFILE: 保存模式空間匹配到的行至指定的文件中; r /PATH/FROM/SOMEFILE: 讀取指定文件的內容至當前文件被模式匹配到的行後面;文件合併; =: 爲模式匹配到的行打印行號; !: 條件取反; s///: 查找替換,其分隔符可自行指定,經常使用的有s@@@, s###等; 替換標記: g:全局替換; w /PATH/TO/SOMEFILE:將替換成功的結果保存至指定文件中; p:顯示替換成功的行;
#替換/etc/passwd中的:分割符爲- UID:字符 cat /etc/passwd | cut -d : -f1,3 | sed 's/:/ - UID: /' root - UID: 0 bin - UID: 1
sed -i 's/text/replace/g' file #/3g標記替換第3次出現後的匹配: echo "thisthisthisthisthis" | sed 's/this/THIS/3g' thisthisTHISTHISTHIS
&
#經過正則表達式\w\+匹配每個單詞,而後用[&]替換它。&對應於以前所匹配到的單詞。 echo "this is an example" | sed 's/\w\+/[&]/g' [this] [is] [an] [example]
echo "sever EIGHT" | sed 's/\([a-z]\+\) \([A-Z]\+\)/\2 \1/g' EIGHT sever
#!/bin/bash nginx_log='/usr/local/nginx/logs/host.access.log' code_400_count=$(awk '($9 >= 400) {print $1}' ${nginx_log} | sort -rn | uniq -c) echo $code_400_count
**關閉其它非自制yum源,設置*.repo文件中相應的enabled=0**
yum install -y ftp --enablerepo=Local Yum yum install -y openssh --enablerepo=Local Yum yum install -y curl --enablerepo=Local Yum yum install -y wget --enablerepo=Local Yum yum install -y tcpdump --enablerepo=Local Yum