Executar um script automaticamente através do pbrun?

1

Existe um ambiente Unix chamado sftwrk01 , uatwrk01 , intwrk01 e mais alguns

Eu preciso verificar os logs em cada ambiente todos os dias pelo login em como abaixo (através de pbsu que é um wrapper para pbrun):

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

e depois do login eu verifico os logs. O mesmo processo vale para mais alguns ambientes, como uatwrk01 , intwrk01 etc.

Agora eu tentei isso:

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

mas isso não funcionou porque, na verdade, a instrução cd var/can/log && ls -lrt estava sendo executada depois que eu saí do ambiente sftwrk01 digitando exit .

Quais poderiam ser as diferentes soluções possíveis, considerando que não tenho direitos de administrador? (ou seja, sou apenas um dos usuários no diretório inicial.)

Se isso não for possível sem direitos de administrador, você pode mencionar uma maneira de fazê-lo com permissão total (talvez você edite o arquivo .profile para fazer isso)

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

Outras informações:

 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

aqui é pbsu

    
por munish 05.08.2011 / 12:34

1 resposta

5

Eu não sei se o shell do servidor no qual você está efetuando login é o Korn Shell original, mas se for o caso, você pode modificar o final do script pbsu para que

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

torna-se

   [ -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 $USERNAME /usr/local/bin/pbksh $LOGIN_SWITCH ${@:2}
.

Então você seria capaz de enviar comandos para o servidor sem fazer login no shell, usando

pbsu - sftwrk01 -c "your commands here"

(Cuidado com as citações!) Então, para o seu exemplo, seria

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

(Observe, a propósito, que você não precisa mudar para algum diretório para listar seu conteúdo - apenas forneça o nome desse diretório para o comando ls , como mostrado acima.)

    
por 05.08.2011 / 13:52