通过pbrun自动执行脚本?

通过pbrun自动执行脚本?

有一个名为sftwrk01uatwrk01intwrk01的Unix 环境

我需要每天通过登录检查每个环境中的日志,如下所示(通过 pbsu,它是 pbrun 的包装器):

$pbsu - sftwrk01  //this helps to login to sftwrk01

然后登录后我检查日志。相同的过程适用于其他一些环境uatwrk01,例如intwrk01等。

现在我尝试了这个:

$pbsu - sftwrk01 && cd var/can/log && ls -lrt

但这不起作用,因为实际上该语句cd var/can/log && ls -lrt是在我通过键入 退出 sftwrk01 环境后执行的exit

考虑到我没有管理员权限,可能有哪些不同的解决方案? (即我只是主目录中的用户之一。)

如果没有管理员权限就不可能做到这一点,那么您可以提到一种在拥有完全权限的情况下可以做到这一点的方法(也许您可以编辑某些.profile文件来做到这一点)

**OS Info :**
rcihp145 :/home/msingh2> uname -a
HP-UX rcihp145 B.11.23 U 9000/800 3683851961 unlimited-user license

其他信息:

 rcihp145 :/home/msingh2> ls -lrta
 total 7296
-r--r--r--   1 msingh2    users          438 Dec 22  2010 .profile
 drw-------   2 msingh2    users           96 Dec 22  2010 .ssh
-r--r--r--   1 msingh2    users          831 Dec 22  2010 .cshrc
-r--r--r--   1 msingh2    users          347 Dec 22  2010 .exrc
-r--r--r--   1 msingh2    users          333 Dec 22  2010 .login
 -rw-------   1 msingh2    users           56 Dec 23  2010 .sh_history.
-rwxr-xr-x   1 msingh2    users         5451 Dec 23  2010 .dtprofile
 -rw-------   1 msingh2    users      3577932 May 18 05:21 core
drwxr-xr-x  422 root       root         16384 Aug  3 14:27 ..
-rw-------   1 msingh2    users          245 Aug  4 00:41 .Xauthority
-rw-------   1 msingh2    users         1768 Aug  4 00:41 .TTauthority
drwxr-xr-x   4 msingh2    users         8192 Aug  4 00:41 .
 -rw-------   1 msingh2    users        37533 Aug  4 00:41 .ICEauthority
 -rw-------   1 msingh2    users         4064 Aug  4 06:28 .sh_history
 drwxr-xr-x  12 msingh2    users         8192 Aug  4 06:28 .dt
 -rw-------   1 msingh2    users         3462 Aug  5 02:29 .sh_history.msingh2

这里是 pbsu

答案1

我不知道您登录的服务器 shell 是否是原始的 Korn Shell,但如果是,您可以修改pbsu脚本的末尾,以便

   [ -n "$REMOTEHOST" ] && /usr/local/bin/pbrun -h $REMOTEHOST -u $用户名 /usr/local/bin/pbksh $LOGIN_SWITCH
   [ -n "$REMOTEHOST" ] || /usr/local/bin/pbrun -b -u $用户名 /usr/local/bin/pbksh $LOGIN_SWITCH

变成

   [ -n "$REMOTEHOST" ] && /usr/local/bin/pbrun -h $REMOTEHOST -u $USERNAME /usr/local/bin/pbksh $LOGIN_SWITCH ${@:2}
   [ -n "$REMOTEHOST" ] || /usr/local/bin/pbrun -b -u $用户名 /usr/local/bin/pbksh $LOGIN_SWITCH ${@:2}

然后,您可以使用以下命令将命令发送到服务器,而无需登录 shell

pbsu - sftwrk01 -c "your commands here"

(注意引号!)因此,对于您的示例,它将是

pbsu - sftwrk01 -c "ls -lrt var/can/log"

(顺便说一下,请注意,您不需要更改到某个目录来列出其内容 - 只需将该目录的名称提供给命令ls,如上所示。)

相关内容