免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1691 | 回复: 3
打印 上一主题 下一主题

如何在脚本中完成SU 的动作 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-13 13:47 |只看该作者 |倒序浏览
在AIX下,我想写个自动备份数据库的脚本,但是我发现我必须先切换到数据库实例用户才能使脚本成功完成,所以我必须在脚本中完成SU - DB2INST1 和 EXIT的动作 但不知道怎么写 我的脚本如下 大家帮忙改改
  #!/usr/bin/ksh -p

(( TRUE = 1 ))
(( FALSE = 0 ))



function exit_prog
{
    exitcode=$1
    if [[ ${exitcode} -ne ${TRUE} ]]; then
       print "rogram Did Not Complete Successfully!"
    fi
    exit ${exitcode}
}

function find_homedir
{
     instname=$2
     INSTHOME=""

     /usr/sbin/lsuser ${instname} 1>/dev/null 2>/dev/null
     [[ $? -ne 0 ]] && return ${FALSE}

     INSTHOME="$(/usr/sbin/lsuser -c -a home ${instname} | \
                 /usr/bin/tail -1 | /usr/bin/awk -F: '{print $NF}')"

     if [[ -d ${INSTHOME} ]]; then
        return ${TRUE}
     else
        return ${FALSE}
     fi
}

export DB2INSTANCE=${USER}

find_homedir ${DB2INSTANCE}
[[ $? -ne ${USER} ]] && exit_prog

export PATH=${PATH}{INSTHOME}/sqllib/bin{INSTHOME}/sqllib/adm{INSTHOME}/sq
llib/misc

LOGFILE="${INSTHOME}/tmp/db2backup.log
[[ $? -ne 0 ]] && exit_prog ${FALSE}

print "      ################################" >> ${LOGFILE}
print "      ###  $(/usr/bin/date)  ### "      >> ${LOGFILE}
print "      ################################" >> ${LOGFILE}

db2 backup db test to /dbbk >> ${LOGFILE}

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-01-13 14:13 |只看该作者

如何在脚本中完成SU 的动作

No way

论坛徽章:
0
3 [报告]
发表于 2005-01-13 14:32 |只看该作者

如何在脚本中完成SU 的动作

用root用户chown DB2INST1 yourscript, 或在你的脚本中调用一个属主为DB2INST1的脚本。再次提醒,停机备份不要用脚本自动实现,出了问题你都没地方哭去。想自动,让公司花钱买磁带库及NBU之类的软件在线备份。

论坛徽章:
0
4 [报告]
发表于 2005-01-13 17:54 |只看该作者

如何在脚本中完成SU 的动作

同上。
用root用户su过去不要求密码的。
但是同样同楼上的理由,不建议你这么做备份。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP