pbrun을 통해 스크립트 실행을 자동화하시겠습니까?

pbrun을 통해 스크립트 실행을 자동화하시겠습니까?

등 의 Unix 환경이 있습니다 sftwrk01.uatwrk01intwrk01

다음과 같은 로그인을 통해 매일 각 환경의 로그를 확인해야 합니다(pbrun의 래퍼인 pbsu를 통해).

$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

로그인 중인 서버 쉘이 원래 Korn 쉘인지는 모르겠지만, 그렇다면 pbsu스크립트 끝을 수정하여 다음과 같이 할 수 있습니다.

   [ -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

~이 되다

   [ -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}
.

그런 다음 다음을 사용하여 셸에 로그인하지 않고도 서버에 명령을 보낼 수 있습니다.

pbsu - sftwrk01 -c "your commands here"

(따옴표에 주목하세요!) 따라서 귀하의 예에서는 다음과 같습니다.

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

(그런데 내용을 나열하기 위해 디렉토리로 변경할 필요는 없습니다. ls위에 표시된 대로 명령에 디렉토리 이름을 제공하기만 하면 됩니다.)

관련 정보