以下是在部署openstack過程中摘錄的一些較為常用的指令行或shell腳本,僅供參考。
1.殺死所有存在的僵屍程序
1
2
<code>ps</code> <code>-ef | </code><code>grep</code> <code>defunc | </code><code>grep</code> <code>-</code><code>v</code> <code>grep</code> <code>| </code><code>awk</code> <code>'{print $3}'</code> <code>| </code><code>xargs</code> <code>kill</code> <code>-9</code>
<code>#pkill dnsmasq</code>
2.去掉配置檔案中的#符号和空白行
3
4
5
6
7
8
9
<code>cat</code> <code>></code><code>/root/delsc</code><code>.sh <<eof</code>
<code>#!/bin/bash</code>
<code># delete all spaces and comments of specialized file, using with filename</code>
<code>[[ </code><code>"\$1"</code> <code>== </code><code>''</code> <code>]] && </code><code>echo</code> <code>"delete all spaces and comments of specialized file, using with \$@ filename"</code> <code>&& </code><code>exit</code> <code>1</code>
<code>grep</code> <code>-</code><code>v</code> <code>\</code><code># \$1 | grep -v ^$</code>
<code>eof</code>
<code>cat</code> <code>/root/delsc</code><code>.sh</code>
<code>chmod</code> <code>+x </code><code>/root/delsc</code><code>.sh</code>
<code>ln</code> <code>-s </code><code>/root/delsc</code><code>.sh </code><code>/usr/local/bin/delsc</code>
3.centos7安裝vmtools
<code># mount /dev/cdrom /mnt/</code>
<code># cp /mnt/vmwaretools-9.4.10-2092844.tar.gz /tmp/</code>
<code># cd /tmp/</code>
<code># tar zxf vmwaretools-9.4.10-2092844.tar.gz</code>
<code># /tmp/vmware-tools-distrib/vmware-install.pl</code>
<code>yum </code><code>install</code> <code>open</code><code>-vm-tools -y</code>
<code>systemctl </code><code>enable</code> <code>vmtoolsd.service</code>
<code>systemctl start vmtoolsd.service</code>
<code>systemctl status vmtoolsd.service</code>
4.修改linux系統時區
<code>mv</code> <code>/etc/localtime</code> <code>/etc/localtime</code><code>~</code>
<code>ln</code> <code>-s </code><code>/usr/share/zoneinfo/asia/shanghai</code> <code>/etc/localtime</code>
<code>chown</code> <code>-h --reference=</code><code>/etc/localtime</code><code>~ </code><code>/etc/localtime</code>
<code>chcon -h --reference=</code><code>/etc/localtime</code><code>~ </code><code>/etc/localtime</code>
5.中國大陸常用時間伺服器清單
<code>cat</code> <code>> </code><code>/etc/ntp</code><code>.conf <<eof</code>
<code>server 2.cn.pool.ntp.org iburst</code>
<code>server 3.asia.pool.ntp.org iburst</code>
<code>server 0.asia.pool.ntp.org iburst</code>
<code>restrict -4 default kod notrap nomodify</code>
<code>restrict -6 default kod notrap nomodify</code>
6.配置時間同步
10
11
12
13
<code>rpm -qa | </code><code>grep</code> <code>ntp || yum </code><code>install</code> <code>-y ntp</code>
<code>ntpdate -u pool.ntp.org || ntpdate -u </code><code>time</code><code>.nist.gov || ntpdate -u </code><code>time</code><code>-nw.nist.gov</code>
<code>date</code>
<code>cat</code> <code>>></code><code>/etc/rc</code><code>.</code><code>local</code><code><<eof</code>
<code>hwclock -w</code>
<code># recommoned do</code>
<code>touch</code> <code>/etc/cron</code><code>.daily</code><code>/ntpdate</code>
<code>cat</code> <code>>></code><code>/etc/cron</code><code>.daily</code><code>/ntpdate</code><code><<eof</code>
7.對配置檔案更改前先備份配置檔案
<code>operationfile=</code><code>/etc/keystone/keystone</code><code>.conf</code>
<code>bakoperationfile=$operationfile$(</code><code>date</code> <code>+-%f-%h-%m-%s)</code><code>"~"</code>
<code>cp</code> <code>$operationfile $bakoperationfile</code>
<code>chown</code> <code>-r --reference=$operationfile $bakoperationfile</code>
<code>chcon -r --reference=$operationfile $bakoperationfile</code>
8.建立計劃任務
<code>(</code><code>crontab</code> <code>-l -u keystone 2>&1 | </code><code>grep</code> <code>-q token_flush) || </code><code>echo</code> <code>'@hourly /usr/bin/keystone-manage token_flush >/var/log/keystone/keystone-tokenflush.log 2>&1'</code> <code>>> </code><code>/var/spool/cron/keystone</code>
9.不切換使用者但以此使用者的身份執行指令
<code>su</code> <code>-s </code><code>/bin/sh</code> <code>-c </code><code>"glance-manage db_sync"</code> <code>glance</code>
10.擷取路由ip
<code>ip=$(</code><code>ifconfig</code> <code>`route | </code><code>grep</code> <code>default | </code><code>awk</code> <code>'{print $8}'</code><code>` | </code><code>grep</code> <code>inet | </code><code>grep</code> <code>-</code><code>v</code> <code>inet6 | </code><code>awk</code> <code>'{print $2}'</code><code>)</code>
11.判斷cpu是否支援虛拟化
<code>if</code> <code>[[ $(</code><code>egrep</code> <code>-c </code><code>'(vmx|svm)'</code> <code>/proc/cpuinfo</code><code>) == 0 ]];</code><code>then</code>
<code> </code><code>defaultnum=`</code><code>grep</code> <code>-n </code><code>"^\[libvirt\]$"</code> <code>$operationfile | </code><code>awk</code> <code>-f </code><code>':'</code> <code>'{print $1}'</code><code>`</code>
<code> </code><code>sedoperation=$defaultnum</code><code>"a"</code>
<code> </code><code>sed</code> <code>-i </code><code>"$sedoperation virt_type = qemu"</code> <code>$operationfile</code>
<code>else</code>
<code> </code><code>sed</code> <code>-i </code><code>"$sedoperation virt_type = kvm"</code> <code>$operationfile</code>
<code>fi</code>
12.擷取指定網卡名所對應的ip位址
<code>ext_ens=ens160</code>
<code>local_ip=$(</code><code>ifconfig</code> <code>`route | </code><code>grep</code> <code>$ext_ens | </code><code>awk</code> <code>'{print $8}'</code><code>` | </code><code>grep</code> <code>inet | </code><code>grep</code> <code>-</code><code>v</code> <code>inet6 | </code><code>awk</code> <code>'{print $2}'</code><code>)</code>
end
補充:
1.查找并删除檔案
<code>find</code> <code>/tmp</code> <code>-name core -</code><code>type</code> <code>f -print0 | </code><code>xargs</code> <code>-0 </code><code>/bin/rm</code> <code>-f</code>
2.查找并列出檔案類型
<code>find</code> <code>. -</code><code>type</code> <code>f -</code><code>exec</code> <code>file</code> <code>'{}'</code> <code>\;</code>
3.查找大于1gb以上的檔案,并列出
<code>find</code> <code>/ -size +1000m -</code><code>exec</code> <code>ls</code> <code>-alh </code><code>'{}'</code> <code>\;</code>
4.測試磁盤性能
<code>time</code> <code>dd</code> <code>if</code><code>=</code><code>/dev/zero</code> <code>of=</code><code>/tmp/testfile</code> <code>bs=4k count=80000</code>