jenkins 更新脚本之expect交互

这个是备份更新脚本

#!/bin/bash

ROOT_DIR=/var/www/shuyou
APP=www.shuyou.com
BACKUP_DIR=/var/www/backup/shuyou
curr_date=`date +%F-%H-%M-%S`

# 判断备份目录是否存在
if [ ! -d $BACKUP_DIR ];then
mkdir $BACKUP_DIR -p
fi

# 保留一个月的备份
cd $BACKUP_DIR && find . -mtime +30 -name "*.tar.gz" | xargs rm -rf {}

# 备份目录并更新代码
cd $ROOT_DIR && tar zcf $BACKUP_DIR/leyou.$curr_date.tar.gz $APP && cd $APP && svn up && echo "leyou更新完成,备份目录:$BACKUP_DIR/leyou.$curr_date.tar.gz"

 

#!/bin/bash
username=shuyouyun
apiKey="shuyounbkey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
expect << EOF
set timeout 500
spawn ssh -o StrictHostKeyChecking=no root@192.168.1.1
expect "password" {send "shuyounb@110"}
expect "#" {send "cd /home/client\r"}
expect "#" {send "zip -rp game`date +"%Y%m%d%H"`.zip game\r"}
expect "#" {send "cd game\r"}
expect "#" {send "svn up\r"}
expect "#" {send "cd game\r"}
EOF
curl -i --url "http://open.chinanetcenter.com/ccm/purge/ItemIdReceiver" \
-X "POST" \
-u "$username:$password" \
-H "Date:$date" \
-H "Content-Type: application/xml" \
-d'<?xml version="1.0" encoding="utf-8"?>
<purge>
<dirs>
<dir>https://www.nb.com/</dir>
<dir>http://www.nb.com/</dir>
<dir>http://www.nb.com/</dir>
</dirs>
<dir-action>expire</dir-action>
</purge>'

转载于:https://www.cnblogs.com/capable/p/11345838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值