免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: nw5452
打印 上一主题 下一主题

[系统管理] crontab里tar老是无法运行,请高手指教 [复制链接]

论坛徽章:
12
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00程序设计版块每日发帖之星
日期:2016-01-19 06:20:0015-16赛季CBA联赛之江苏
日期:2016-01-17 15:31:3915-16赛季CBA联赛之上海
日期:2016-01-16 15:44:3015-16赛季CBA联赛之浙江
日期:2016-01-15 20:38:1815-16赛季CBA联赛之北京
日期:2016-01-09 14:30:15CU十四周年纪念徽章
日期:2016-01-07 12:31:5115-16赛季CBA联赛之四川
日期:2016-01-01 11:49:1515-16赛季CBA联赛之深圳
日期:2015-12-24 14:23:4115-16赛季CBA联赛之山西
日期:2015-12-15 16:22:31技术图书徽章
日期:2015-12-10 17:41:0015-16赛季CBA联赛之北控
日期:2016-02-03 10:03:24
11 [报告]
发表于 2015-09-15 10:45 |只看该作者
对expect 语法不熟
要不改成这样试试
#!/bin/bash
date=$(date -d "-1 day" +%Y%m%d)
cd /usr/sqec/repo/img/detailPage/
if [ -d $date ];then
  /bin/tar -cvzf /usr/sqec/repo/img/detailPage/$date.tar.gz /usr/sqec/repo/img/detailPage/$date
  /usr/bin/expect <<-EOF
  set password 123
  set timeout 18000
  spawn /usr/bin/scp $date.tar.gz root@10.10.10.11:/bak_img/img_15/detailPage
  expect "root@10.10.10.11's password:"
  send "$password\r"
  send "exit\r"
  expect eof
EOF
fi

论坛徽章:
0
12 [报告]
发表于 2015-09-15 14:32 |只看该作者
回复 11# sync_1521

试了下,不行。。
   

论坛徽章:
12
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00程序设计版块每日发帖之星
日期:2016-01-19 06:20:0015-16赛季CBA联赛之江苏
日期:2016-01-17 15:31:3915-16赛季CBA联赛之上海
日期:2016-01-16 15:44:3015-16赛季CBA联赛之浙江
日期:2016-01-15 20:38:1815-16赛季CBA联赛之北京
日期:2016-01-09 14:30:15CU十四周年纪念徽章
日期:2016-01-07 12:31:5115-16赛季CBA联赛之四川
日期:2016-01-01 11:49:1515-16赛季CBA联赛之深圳
日期:2015-12-24 14:23:4115-16赛季CBA联赛之山西
日期:2015-12-15 16:22:31技术图书徽章
日期:2015-12-10 17:41:0015-16赛季CBA联赛之北控
日期:2016-02-03 10:03:24
13 [报告]
发表于 2015-09-15 14:41 |只看该作者
怎么个不行法。。
你把运行结果贴出来看下撒

论坛徽章:
0
14 [报告]
发表于 2015-09-15 14:45 |只看该作者
回复 9# waker


    试过了,我的脚本应该就是没有等tar完成就直接运行scp命令了。

现在就是在查加入什么语句可以判断tar执行完了。

多谢。

论坛徽章:
0
15 [报告]
发表于 2015-09-15 14:56 |只看该作者
回复 13# sync_1521


spawn /usr/bin/scp 20150914.tar.gz root@10.0.10.244:/bak_img/img_15/detailPage
root@10.0.10.244's password:
Permission denied, please try again.
root@10.0.10.244's password:

可以tar了,但没法做交互了。要手工输入密码。

论坛徽章:
12
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00程序设计版块每日发帖之星
日期:2016-01-19 06:20:0015-16赛季CBA联赛之江苏
日期:2016-01-17 15:31:3915-16赛季CBA联赛之上海
日期:2016-01-16 15:44:3015-16赛季CBA联赛之浙江
日期:2016-01-15 20:38:1815-16赛季CBA联赛之北京
日期:2016-01-09 14:30:15CU十四周年纪念徽章
日期:2016-01-07 12:31:5115-16赛季CBA联赛之四川
日期:2016-01-01 11:49:1515-16赛季CBA联赛之深圳
日期:2015-12-24 14:23:4115-16赛季CBA联赛之山西
日期:2015-12-15 16:22:31技术图书徽章
日期:2015-12-10 17:41:0015-16赛季CBA联赛之北控
日期:2016-02-03 10:03:24
16 [报告]
发表于 2015-09-15 15:02 |只看该作者
回复 15# nw5452

直接把send "$password\r" 改成 send "123\r" 吧。。
不知道为什么set password 123 不生效。。


   

论坛徽章:
0
17 [报告]
发表于 2015-09-15 15:14 |只看该作者
回复 16# sync_1521

可以了,我加入到crontab里,然后自动运行了一下,可以tar,并且可以scp过去。

多谢。

现在就是在想expect怎么判断命令已经完全运行完了。

spawn /bin/tar -cvzf /usr/sqec/repo/static/goods/$date.tar.gz /usr/sqec/repo/static/goods/$date
spawn /usr/bin/scp /usr/sqec/repo/static/goods/$date.tar.gz root@10.0.10.244:/bak_sta/sta_16

就是在这两句之间。。。


   

论坛徽章:
12
IT运维版块每日发帖之星
日期:2015-11-17 06:20:00程序设计版块每日发帖之星
日期:2016-01-19 06:20:0015-16赛季CBA联赛之江苏
日期:2016-01-17 15:31:3915-16赛季CBA联赛之上海
日期:2016-01-16 15:44:3015-16赛季CBA联赛之浙江
日期:2016-01-15 20:38:1815-16赛季CBA联赛之北京
日期:2016-01-09 14:30:15CU十四周年纪念徽章
日期:2016-01-07 12:31:5115-16赛季CBA联赛之四川
日期:2016-01-01 11:49:1515-16赛季CBA联赛之深圳
日期:2015-12-24 14:23:4115-16赛季CBA联赛之山西
日期:2015-12-15 16:22:31技术图书徽章
日期:2015-12-10 17:41:0015-16赛季CBA联赛之北控
日期:2016-02-03 10:03:24
18 [报告]
发表于 2015-09-15 15:16 |只看该作者
回复 17# nw5452

那些大神貌似说了
中间加个expect eof


   

论坛徽章:
0
19 [报告]
发表于 2015-09-15 16:15 |只看该作者
回复 18# sync_1521


    多谢,兄弟。

我再试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP