首页 > 代码库 > 12个Linux系统高频率命令行和shell小脚本

12个Linux系统高频率命令行和shell小脚本

以下是在部署OpenStack过程中摘录的一些较为常用的命令行或shell脚本,仅供参考。

1.杀死所有存在的僵尸进程

ps -ef | grep defunc | grep -v grep | awk ‘{print $3}‘ | xargs kill -9
#pkill dnsmasq

2.去掉配置文件中的#符号和空白行

cat >/root/delsc.sh <<eof
#!/bin/bash
# delete all spaces and comments of specialized file, using with  filename
[[ "\$1" == ‘‘ ]] && echo "delete all spaces and comments of specialized file, using with \$@ filename" && exit 1
grep -v \# \$1 | grep -v ^$
eof
cat /root/delsc.sh
chmod +x /root/delsc.sh
ln -s /root/delsc.sh /usr/local/bin/delsc

3.CentOS7安装vmtools

# mount /dev/cdrom /mnt/
# cp /mnt/VMwareTools-9.4.10-2092844.tar.gz /tmp/
# cd /tmp/
# tar zxf VMwareTools-9.4.10-2092844.tar.gz
# /tmp/vmware-tools-distrib/vmware-install.pl
yum install open-vm-tools -y
systemctl enable vmtoolsd.service
systemctl start vmtoolsd.service
systemctl status vmtoolsd.service

4.修改Linux系统时区

mv /etc/localtime /etc/localtime~
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
chown -h --reference=/etc/localtime~ /etc/localtime
chcon -h --reference=/etc/localtime~ /etc/localtime

5.中国大陆常用时间服务器列表

cat > /etc/ntp.conf <<eof
server 2.cn.pool.ntp.org iburst
server 3.asia.pool.ntp.org iburst
server 0.asia.pool.ntp.org iburst
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify
eof

6.配置时间同步

rpm -qa | grep ntp || yum install -y ntp
ntpdate -u pool.ntp.org || ntpdate -u time.nist.gov || ntpdate -u time-nw.nist.gov
date
cat >>/etc/rc.local<<EOF
ntpdate -u pool.ntp.org || ntpdate -u time.nist.gov || ntpdate -u time-nw.nist.gov
hwclock -w
EOF
# Recommoned do
touch /etc/cron.daily/ntpdate
cat >>/etc/cron.daily/ntpdate<<EOF
ntpdate -u pool.ntp.org || ntpdate -u time.nist.gov || ntpdate -u time-nw.nist.gov
hwclock -w
EOF

7.对配置文件更改前先备份配置文件

operationfile=/etc/keystone/keystone.conf
bakoperationfile=$operationfile$(date +-%F-%H-%M-%S)"~"
cp $operationfile $bakoperationfile
chown -R --reference=$operationfile $bakoperationfile
chcon -R --reference=$operationfile $bakoperationfile

8.创建计划任务

(crontab -l -u keystone 2>&1 | grep -q token_flush) || echo ‘@hourly /usr/bin/keystone-manage token_flush >/var/log/keystone/keystone-tokenflush.log 2>&1‘ >> /var/spool/cron/keystone

9.不切换用户但以此用户的身份执行命令

su -s /bin/sh -c "glance-manage db_sync" glance

10.获取路由IP

ip=$(ifconfig `route | grep default | awk ‘{print $8}‘` | grep inet | grep -v inet6 | awk ‘{print $2}‘)

11.判断CPU是否支持虚拟化

if [[ $(egrep -c ‘(vmx|svm)‘ /proc/cpuinfo) == 0 ]];then
	defaultnum=`grep -n "^\[libvirt\]$" $operationfile | awk -F ‘:‘ ‘{print $1}‘`
	sedoperation=$defaultnum"a"
	sed -i "$sedoperation  virt_type = qemu" $operationfile
else
	defaultnum=`grep -n "^\[libvirt\]$" $operationfile | awk -F ‘:‘ ‘{print $1}‘`
	sedoperation=$defaultnum"a"
	sed -i "$sedoperation  virt_type = kvm" $operationfile
fi

12.获取指定网卡名所对应的IP地址

ext_ens=ens160
local_ip=$(ifconfig `route | grep $ext_ens | awk ‘{print $8}‘` | grep inet | grep -v inet6 | awk ‘{print $2}‘)

end

本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1584952

12个Linux系统高频率命令行和shell小脚本