一、背景
xx-cc-xxop-1服务器(10.xx.xx.211)xml文件含有商户和客户经理手机号,需对文件加密。存放xml文件有两个目录:
XX_TO_MQ和MQ_TO_XX,文件存在这两个目录所在的日期目录里。
二、脚本逻辑
采用对XX_TO_MQ和MQ_TO_XX下的日期目录加密方式实现对xml文件的加密,由于加密命令含有密码,故在远程服务器xx-filestorge-1(10.xx.xx.37)上部署定时任务每天定点对xx-xx-ccop-1主机昨天的日期目录加密。
三、脚本
代码语言:javascript复制[root@xx-filestorge-1 opt]# more xx_ccop_xml.sh
#!/bin/expect -f
set date [ clock format [ clock seconds ] -format "%Y%m%d" ]
set secon [ clock seconds ]
set yestoday_secon 0
#set i [expr {$i 1}] #expect里的加减法
set yestoday_secon [expr {$secon - 86400} ]
set yestoday [ clock format [ expr {$yestoday_secon} ] -format "%Y%m%d" ]
set ip 10.xx.xx.211
set password xxxxx
set timeout 10
spawn ssh root@$ip
expect {
"*yes/no" { send "yesr"; exp_continue}
"*password:" { send "$passwordr";exp_continue }
}
expect "#*"
send "cd /callcent/xml/CC_TO_MQr"
send "zip -rP xxxxxxx $yestoday.zip $yestodayr"
exp_sleep 30
send "rm -rf $yestodayr"
exp_sleep 30
send "cd /callcent/xml/MQ_TO_XXr"
send "zip -rP xxxxxxx $yestoday.zip $yestodayr"
exp_sleep 30
send "rm -rf $yestodayr"
exp_sleep 30
send "exitr"
expect eof
对日期目录通过zip命令加密和压缩并删除原有的日期目录文件,加解密密码为'xxxxxxx'
四、执行方式
代码语言:javascript复制0 1 * * * /opt/xx_ccop_xml.sh >> /opt/ccop.txt
每天凌晨1点定时执行。
五、运行效果
XX_TO_MQ和MQ_TO_XX都生成了加密后的压缩文件20231128.zip并且原日期文件被删除。
注:本文主机名、ip等信息已脱敏