Kali 脚本应用 (一)

目录

crontab 定时任务

1  监测进程并重启脚本

2  获取本机IP发送邮件

expect 脚本自动连接服务器


crontab 定时任务

# 编辑脚本

vi test.sh

# 赋予权限

chmod 777 test.sh

# -e : 执行文字编辑器来设定时程表

crontab -e

# 编辑定时任务,每天 0点定时执行 test.sh 脚本

0 0 * * * /root/test.sh

*    *    *    *    *

-    -    -    -    -

|    |    |    |    |

|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)

|    |    |    +---------- 月份 (1 - 12)

|    |    +--------------- 一个月中的第几天 (1 - 31)

|    +-------------------- 小时 (0 - 23)

+------------------------- 分钟 (0 - 59)

4.1  监测进程并重启脚本

#!/bin/bash

pgrep test.sh &> /dev/null #pgrep是读取进程名为输入内容的进程号,返回到下面,&>输入到空文件

if [ $? -gt 0 ]; #$?代表上面的返回值(进程ID,当且仅当存在这个进程时才会高于0) -gt是大于号

then

echo "`date` restart" >> /var/log/test.log #`date`是当前时间,>>输出到log文件中作为新的一行,log文件也可以与脚本放在同一个目录下

/etc/init.d/shadowsocks start  #进程启动命令

#调试阶段此处可以加入返回running状态的内容,去掉井号即可

#else

#echo "`date` restart"

fi

4.2  获取本机IP发送邮件

#!/bin/bash

#fix can't lock /sent

HOME='/root/'

# check network availability

while true

do

  TIMEOUT=5

  SITE_TO_CHECK="www.baidu.com"

  RET_CODE=`curl -I -s --connect-timeout $TIMEOUT $SITE_TO_CHECK -w %{http_code} | tail -n1`

  if [ "x$RET_CODE" = "x200" ]; then

  echo "Network OK, will send mail..."

  break

  else

  echo "Network not ready, wait..."

  sleep 1s

  fi

done

# get the IP address of eth0, e.g. "192.168.16.5"

ETH0_IP_ADDR=`ifconfig wlan0 | sed -n "2,2p" | awk '{print substr($2,1)}'`

# send the Email

echo "Current time: `date '+%F %T'`. Enjoy it. IP Address of Raspberry Pi: $ETH0_IP_ADDR" | mutt -s "email—title" 邮箱

expect 脚本自动连接服务器

expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。

命令        作用

spawn        

启动一个新的进程,用来执行后面所接的COMMAND

expect        

期待从进程中获取的内容

send        

向进程发送内容

set timeout n        

设置超时时间,单位:秒,超过n秒则不再继续等待进程的内容返回

interact        

是否保留交互状态

#!/usr/bin/expect

set timeout 30                                 

set usr speech                                # usr = root          跳板机用户名

set host 192.168.1.1                 # host = ip                跳板机ip

spawn ssh $usr@$host

expect {

        "(yes/no)?"

        {send "yes\n";exp_continue}

        "password:"

        {send "123456\r"}

}

interact

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你可知这世上再难遇我

君不见黄河之水天上来

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值