1、

在centos6系统里,我们可以使用ntsysv关闭不需要开机启动的服务,当然也可以使用chkconfig工具来实现。

写一个shell脚本,用chkconfig工具把不常用的服务关闭。脚本需要写成交互式的,需要我们给它提供关闭的服务名字。

参考答案
#!/bin/bash
#这个脚本用来关闭服务
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-14

LANG=en

while :
do
chkconfig --list 2>/dev/null|grep '3:on' |awk '{print $1}' > /tmp/on_sev.txt
echo -e "\033[32m系统里开启了这些服务: \033[0m"
cat /tmp/on_sev.txt
echo
read -p "Please select a service from this list: " s

if ! grep -qw "$s" /tmp/on_sev.txt
then
echo -e "\033[31m你提供的服务名并未开启.\033[0m"
continue
fi
chkconfig $s off
break
done
2、

在生产环境中,经常遇到tomcat无法彻底关闭,也就是说用tomcat自带shutdown.sh脚本无法将java进程完全关掉。所以,需要借助shell脚本,将进程杀死,然后再启动。

写一个shell脚本,实现上述功能。彻底杀死一个进程的命令是 kill -9 pid。

参考答案
#!/bin/bash
#这个脚本用来彻底杀死Tomcat进程
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-14

dir=/usr/local/tomcat/bin/

java_pc()
{
pgrep java|wc -l
}

cd $dir
./shutdown.sh

count=0

while [ $count -lt 5 ]
do
n=`java_pc`
if [ $n -gt 0 ]
then
killall java
count=$[$count+1]
sleep 1
else
break
fi
done

n=`java_pc`
if [ $n -gt 0 ]
then
killall -9 java
fi

n=`java_pc`
if [ $n -gt 0 ]
then
echo "Tomcat无法强制杀死。"
exit
fi

cd $dir
./startup.sh
3、

至少用两种方法,批量把当前目录下面所有文件名后缀为.bak的后缀去掉,比如1.txt.bak去掉后为1.txt

参考答案
#!/bin/bash
#这个脚本用来去掉文件名后缀
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-14

for f in `ls -d ./*.bak `
do
# mv $f `echo $f|sed 's/.bak$//'`
f1=`echo $f|awk -F '.bak$' '{print $1}' `
mv $f $f1
done
4、

写一个shell脚本,查询指定域名的过期时间,并在到期前一周,每天发一封提醒邮件。

参考答案
#!/bin/bash
#这个脚本用来检查域名是否到期
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-14

mail_u=admin@admin.com
#当前日期时间戳,用于和域名的到期时间做比较
t1=`date +%s`

#检测whois命令是否存在,不存在则安装jwhois包
is_install_whois()
{
which whois >/dev/null 2>/dev/null
if [ $? -ne 0 ]
then
yum install -y epel-release
yum install -y jwhois
fi
}

notify()
{
#e_d=`whois $1|grep 'Expiry Date'|awk www.mingheyl178.com/'{print $4}'|cut -d 'T' -f 1`
e_d=`whois $1|grep 'Expiration'|tail -1 |awk '{print $5}' |awk -F 'T' '{print $1}'`
#如果e_d的值为空,则过滤关键词'Expiration Time'
if [ -z "$e_d" ]
then
e_d=`whois $1|grep 'Expiration Time'|awk '{print $3}'`
fi
#将域名过期的日期转化为时间戳
e_t=`date -d "$e_d" +%s`
#计算一周一共有多少秒
n=`echo "86400*7"|bc`
e_t1=$[$e_t-$n]
e_t2=$[$e_t+$n]
if [ $t1 -ge $e_t1 ] && [ $t1 -lt $e_t ]
then
python mail.py $mail_u "Domain $1 will to be expired." "Domain $1 expire date is $e_d."
fi
if [ $t1 -ge $e_t ] && [ $t1 www.hengda157.com-lt $e_t2 ]
then
python mail.py $mail_u "Domain $1 has been expired" "Domain $1 expire date is $e_d."
fi
}

#检测上次运行的whois查询进程是否存在
#若存在,需要杀死进程,以免影响本次脚本执行
if pgrep whois &>/dev/null
then
killall -9 whois
fi

is_install_whois

for d in aaa.com bbb.com aaa.cn
do
notify $d
done
5、

写一个shell脚本,当我们执行时,提示要输入对方的ip和root密码,然后可以自动把本机的公钥增加到对方机器上,从而实现密钥认证。

参考答案
#!/bin/bash
#这个脚本用来自动配置密钥认证
#作者:猿课-阿铭 www.apelearn.com
#日期:2018-12-14

read -p "输入一个IP地址: " ip
read -p "输入此机器的root密码: " pasd

is_install()
{
if ! rpm -q $1 &>www.ysyl157.com /dev/null
then
yum installl -y $1
fi
}

is_install openssh-clients
is_install expect

if [ ! -f ~/.ssh/id_rsa.pub ]
then
echo -e "\n" |ssh-keygen -P ''
fi

cat > key.expect <<EOF
#!/usr/bin/expect
set host [lindex \$argv www.dasheng178.com 0]
set passwd [lindex \$argv 1]
spawn ssh-copy-id root@\$host
expect {
"yes/no" { send "yes\r"; exp_continue}
"password:" { send "\$passwd\r" }
}
expect eof
EOF

chmod a+x key.expect

./key.expect $ip $pasd

day29:关闭服务|的更多相关文章

  1. MongoDB(4):多种方式关闭服务命令

    http://blog.csdn.net/czw698/article/details/8791153 MongoDB 提供几种关闭服务的命令,具体为以下: 一 使用 Crtl+C 关闭  [mong ...

  2. linux关闭服务的方法

    本文介绍下,在linux下关闭服务的方法,主要学习chkconfig的用法,有需要的朋友参考下. 先来看一个在linux关闭服务的例子,例如,要关闭sendmail服务,则可以按如下操作. 例1, 复 ...

  3. MySQL启动和关闭服务命令

    MySQL启动和关闭服务命令 1.启动服务命令 net start mysql 2.关闭服务命令 net stop mysql

  4. 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务

    windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...

  5. 使用Windows命令行启动关闭服务(net,sc用法)

    下面两个命令最好以管理员方式启动cmd窗口,否则出现权限问题. 1.net用于打开没有被禁用的服务, NET命令是功能强大的以命令行方式执行的工具. 它包含了管理网络环境.服务.用户.登陆大部分重要的 ...

  6. 批处理打开关闭服务(ArcSDE+Oracle92的)

    转自:http://crmhf.blog.163.com/blog/static/7707820320097199560516/ 批处理打开服务:echo offnet start "Arc ...

  7. greenplum 开启和关闭服务

    1.关闭服务$pg_ctl stop -m fast -D $MASTER_DATA_DIRECTORY (/usr/local/greenplum-db/bin) 2.开启服务 $pg_ctl st ...

  8. Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程

    Linux下tomcat的shutdown命令可以关闭服务但是杀不死进程 原因: 一般造成这种原因是因为项目中有非守护线程的存在: 解决方案: 一.从Tomcat上解决 方案1:(推荐的方案:因为一台 ...

  9. MongoDB:如何正常关闭服务(转)

    原文链接:MongoDB:关闭服务 MongoDB 提供几种关闭服务的命令,具体为以下: 一 使用 Crtl+C 关闭  [mongo@redhatB data]$ mongod --dbpath=/ ...

随机推荐

  1. Vue视图

    1. 基本模板语法 1.1 插值 文本 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值 v-text 指令也可以用于数据绑定,如果要更新部分的 textContent ...

  2. mybatis SQL映射配置文件

    目录 标签常见属性(备忘) 参数样例 resultType.resultMap.discriminator 自动映射 动态SQL语句 罗列Mapper中最常用部分 标签常见属性(备忘) <sel ...

  3. request,logging,ConfigParser——接口框架

    做一个将参数和用例分开放置,并且输出log的接口测试框架 我的框架如下所示 Log文件用来设置log输出文件,需要时可以在用例内调用输出,config用来填写一切需要的参数信息,jiekou_post ...

  4. 2.0 flume、sqoop、oozie/Azkaban

    在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出.任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中都有便 ...

  5. 【python 3.6】调用另一个文件的类的方法

    文件1:test12.py 文件2:test13.py 文件1 如下: #!/usr/bin/python # -*- coding: utf-8 -*- ''' ''' class abcd(obj ...

  6. kettle_Spoon 修改共享DB连接带汉字引发的错误

    win10下: kettle_Spoon 修改共享DB连接带汉字引发的错误: Unexpected problem reading shared objects from XML file : nul ...

  7. USACO 1.3.3 Calf Flac(Manacher算法)

    Description 据说如果你给无限只母牛和无限台巨型便携式电脑(有非常大的键盘),那么母牛们会制造出世上最棒的回文.你的工作就是去寻找这些牛制造的奇观(最棒的回文). 在寻找回文时不用理睬那些标 ...

  8. 20135313_exp5

    课程:Java程序与设计     班级:1353 姓 名:吴子怡  学号:20135313 小组成员: 20135113肖昱 成绩:             指导教师:娄嘉鹏       实验日期:2 ...

  9. Python:模块学习——sys模块

    sys模块常见函数和变量 sys.argv:命令行参数,实现从程序外部向程序传递参数 [注]:(1) sys.argv[0] 表示代码本身的文件路径 (2)sys.argv是一个元组,可以用[ ]提取 ...

  10. SDN前瞻 传统网络的缺陷

    引言 在网络发展速度如此之快的今天,传统网络的架构充满了危机,主要有这四个问题: 传统网络部署管理困难. 分布式架构瓶颈出现. 流量控制难真正实现. 设备不可编程. 现在的网络厂商 种类繁多的网络厂商 ...