脚本——倒计时,ping,创建用户,作业:ssh并创建用户(未能实现功能)

脚本一

要求:ping同一网段下1到10号机,若ping通,输出up,否则输出down

#!/bin/bash
for((i=0;i<=10;i++))
do
ping -c1 -w1 172.25.254.$i &> /dev/null && echo "$i is up" || echo "$i is down"
done

脚本二

要求:一分十秒的倒计时

#!/bin/bash
MIN=1
for ((SEC=10;SEC>=0;SEC--))
do
echo -ne "After ${MIN}:${SEC}s is end"
sleep 1
echo -ne "\r     \r"

while [ "$SEC" -eq "0" -a "$MIN" -gt "0" ]
    do
    echo -ne "After ${MIN}:${SEC}s is end"
    echo -ne "\r    \r"
    ((MIN--))
    SEC=60
    done
done

脚本三

要求:通过从指定文件得到用户密码并创建用户,若用户存在,提示报错,若用户数和密码数不同,提示报错

#!/bin/bash
if
[ -n "$1" -a -n "$2" ]
then
    if
    [ -e "$1" -a -e "$2" ]
    then
    MAXUSER=`wc -l $1 | cut -d " " -f 1`
    MAXPASS=`wc -l $2 | cut -d " " -f 1`
        [ "$MAXUSER" -eq "$MAXPASS" ]&&(
        for NUM in $( seq 1 $MAXUSER )
        do    
        USERNAME=`sed -n ${NUM}p $1`
        PASSWORD=`sed -n ${NUM}p $2`
        CKUSER=`getent passwd $USERNAME`
        [ -z "$CKUSER" ]&&(
        useradd $USERNAME
        echo $PASSWORD |passwd --stdin $USERNAME
        )||echo "$USERNAME exist !!"
        done
        )||(
        echo $1 and $2 have different lines
        )
    elif
    [ ! -e "$1" ]
    then
    echo "ERROR:$1 is not exist"
    else
    echo "ERROR:$2 is not exist"
    fi
else
echo "ERROR: Please input userfile and password file after command!!"
fi

脚本四

要求:本地创建用户文件和密码文件,通过ping同一网段的多台机器,若ping通,ssh连接机器,并在连接的机器上创建从用户文件和密码文件中读取的相关用户

#!/bin/bash
if
[ -n "$1" -a -n "$2" ]
then
    if
    [ -e "$1" -a -e "$2" ]
    then
    MAXUSER=`wc -l $1 | cut -d " " -f 1`
    MAXPASS=`wc -l $2 | cut -d " " -f 1`
        [ "$MAXUSER" -eq "MAXPASS" ]&&(
        for NUM in $( seq 1 $MAXUSER )
        do
        USERNAME=`sed -n ${NUM}p $1`
        PASSWORD=`sed -n ${NUM}p $2`
        for (( i=2;i<=4;i++ ))
        do
            ping -c1 -w1 172.25.254.$i  &> /dev/null
            if [[ $? -eq 0 ]]
            then
            /home/kiosk/Desktop/ssh.exp 172.25.254.$i redhat
             CKUSER=`getent passwd $USERNAME`
            [ -z "$CKUSER" ]&&(
            useradd $USERNAME
            echo $PASSWORD | passwd --stdin $USERNAME
            )||echo "$USERNAME exist!"
            exit
            else
            echo "ERROR: Please input userfile and password file after command"
            fi
            done
        )||(
        echo $1 and $2 have different lines
        )

else
echo 172.25.254.$i is down
fi
done

ssh.exp:

#!/usr/bin/expect
set IP [lindex $argv 0]
set PASS [lindex $argv 1]
set COMM [lindex $argv 2]
spawn ssh [email protected]$IP $COMM
expect {
    "yes/no"
    {send "yes\r";exp_continue}
    "password:"
    {send "$PASS\r"}
    }
interact

时间: 2024-11-10 07:16:16

脚本——倒计时,ping,创建用户,作业:ssh并创建用户(未能实现功能)的相关文章

加密、解密的原理及Openssl创建CA和ssh的基础应用

加密.解密的原理及Openssl创建CA和ssh的基础应用 随着互联网的不断发展和技术的不断成熟,在互联网上传输文件不在安全,在需要传送重要的数据时就必须加密处理. 密码算法分为三种:分别是对称加密,公钥加密,单向加密:以及需要对加密算法的认证,叫做认证协议.下面为大家概述对称加密,公钥加密,单向加密及认证协议 对称加密: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密. 需要对加密和解密使用相同密钥的加密算法.由于其速度快,对称性

实现在同一台服务器上登录的ssh用户的群聊(聊天室)功能

直接上代码了,注释还算清晰,有问题欢迎提问指证. 为方便下载编译,代码都放到一个文件里了. 服务器是CentOS,客户端用的secureCRT. /* 功能: 在同一台服务器上ssh登录的用户可以群聊(聊天室) 原理:<span style="white-space:pre"> </span>1.通过roomNo.来区分不同的房间或群组: 2.以roomNo.作为key来创建一块共享内存,来保存进入到该room的用户列表: 3.用户以ssh(或其它方式)登录到服

创建 Transact-SQL 作业步骤

创建 Transact-SQL 作业步骤 在对象资源管理器中,连接到 SQL Server 数据库引擎实例,再展开该实例. 展开"SQL Server 代理",创建一个新作业或右键单击一个现有作业,再单击"属性". 在"作业属性"对话框中,单击"步骤"页,再单击"新建". 在"新建作业步骤"对话框中,键入作业的"步骤名称". 在"类型"列表中,单击

ssh公钥认证原理及设置root外的其他用户登录ssh

1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名] 一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/sshd_config 找到 PermitRootLogin yes 修改为PermitRootLogin no 并在尾部添加 AllowUsers  [用户名列表] 然后重启ssh服务,/etc/init.d/ssh restart 3)如何使用公钥认证 先解释下什么是公钥密钥: 公钥私钥是不对称加密方

sqlSQL2008如何创建定时作业

SQL2008如何创建定时作业?此方法也适应于Sql Server2005数据库,有兴趣的可以来看下! 1.打开[SQL Server Management Studio],在[对象资源管理器]列表中选择[SQL Server 代理]: --2.鼠标右击[SQL Server 代理],选择[启动(S)],如已启动,可以省略此步骤:--3.展开[SQL Server 代理]列表,右击[作业]-->[新建作业]:--3.1  在[常规]选项卡中:--       输入作业名称,如"My Job

SQL Server Alwayson创建代理作业注意事项

介绍 Always On 可用性组活动辅助功能包括支持在辅助副本上执行备份操作. 备份操作可能会给 I/O 和 CPU 带来很大的压力(使用备份压缩). 将备份负荷转移到已同步或正在同步的辅助副本后,您可以使用承载第一层工作负荷的主副本的服务器实例上的资源,您可以创建主数据库的任何类型的备份. 也可以创建辅助数据库的日志备份和仅复制完整备份. 一.概念 1.辅助副本上支持的备份类型 BACKUP DATABASE :在辅助副仅支持数据库.文件或文件组的仅复制完整备份. 请注意,仅复制备份不影响日

「二」创建一个带 ssh 服务的基础镜像(修订版)--使用 Dockerfile 创建

创建文件夹 首先,创建一个叫做 sshd_ubuntu 的文件夹,用于存放我们的 Dockerfile .脚本文件.以及其他文件. $ mkdir sshd_ubuntu $ ls sshd_ubuntu $ cd sshd_ubuntu/ $ touch Dockerfile run.sh $ ls Dockerfile run.sh 编写 shell 脚本和 authorized_keys 文件 其中脚本文件 run.sh 的内容与上一小节一致 #!/bin/bash /usr/sbin/s

创建SQL作业错误的解决方法(不能将值 NULL 插入列 &#39;owner_sid&#39;,表 &#39;msdb.dbo.sysjobs&#39;;列不允许有空值。)

在用SQL语句创建SQL Server作业时有时出现如下错误: 消息 515,级别 16,状态 2,过程 sp_add_job,第 137 行 不能将值 NULL 插入列 'owner_sid',表 'msdb.dbo.sysjobs':列不允许有空值.INSERT 失败. 语句已终止. 这可能与为作业创建的数据库登录ID有关,这个登录ID需要是数据库的所有者(我的是sa),因此将 @owner_login_name=N'HYSERITC003/wellcomm', 中的N'HYSERITC00

Hadoop用户配置ssh免密登录

一般生产环境 Hadoop组件都是由hadoop用户来启动,首先需要配置hadoop用户ssh免密登录 1.创建Hadoop用户 [[email protected] ~]# useradd hadoop [[email protected] ~]# id hadoop uid=1102(hadoop) gid=1102(hadoop) groups=1102(hadoop) [[email protected] ~]# passwd hadoop Changing password for u