天天看點

12個Linux系統高頻率指令行和shell小腳本

以下是在部署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>&gt;</code><code>/root/delsc</code><code>.sh &lt;&lt;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>]] &amp;&amp; </code><code>echo</code> <code>"delete all spaces and comments of specialized file, using with \$@ filename"</code> <code>&amp;&amp; </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>&gt; </code><code>/etc/ntp</code><code>.conf &lt;&lt;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>&gt;&gt;</code><code>/etc/rc</code><code>.</code><code>local</code><code>&lt;&lt;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>&gt;&gt;</code><code>/etc/cron</code><code>.daily</code><code>/ntpdate</code><code>&lt;&lt;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&gt;&amp;1 | </code><code>grep</code> <code>-q token_flush) || </code><code>echo</code> <code>'@hourly /usr/bin/keystone-manage token_flush &gt;/var/log/keystone/keystone-tokenflush.log 2&gt;&amp;1'</code> <code>&gt;&gt; </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>

繼續閱讀