StoryCode

'Shell Script, Command, Batch, 쉘스크립트, 배치'에 해당되는 글 2건

  1. Windows.Cmd.Batch.특정프로그램실행여부
  2. linux.append syntax) shell 에서 파일 각 줄끝에 새로운 문자열 추가

Windows.Cmd.Batch.특정프로그램실행여부

Shell Script, Command, Batch, 쉘스크립트, 배치
반응형

참조 : https://codingman.tistory.com/126

 

1. 텍스트 파일을 하나 만듭니다

   - 명칭은 편하신데로 만드셔도 됩니다

     (저는 ReStartBatch.bat라고 만들었습니다)

 

2. 텍스트 파일에 아래와 같이 작성해줍니다

@Echo off
CD C:\
TASKLIST | FIND "실행파일이름.exe" > NUL
IF NOT ERRORLEVEL 1 (
	ECHO Running.
	GOTO PGOK
) ELSE (
	ECHO Not Running.
	GOTO PGNG
)

:PGOK
	ECHO Nothing.
	GOTO END
:PGNG
	ECHO Restart. %DATE% %TIME% >> process_test.txt
	START C:\실행파일이 존재하는 절대경로.exe
	GOTO END
:END
	ECHO
EXIT

 

반응형

linux.append syntax) shell 에서 파일 각 줄끝에 새로운 문자열 추가

Shell Script, Command, Batch, 쉘스크립트, 배치
반응형

# 참조 : https://cafe-de-java.tistory.com/7?category=757531

DB LINK를 이용해서 ITAS로 Oracle의 데이타를 Tibero로 이관 작업을 하는 중에

ITAS 다음에 바로 COMMIT을 주고 싶었는데, 

 

INSERT INTO TB0001 SELECT * FROM TB0001@ORA_DEV; COMMIT;

 

이런식으로 한 줄로 출력할 경우 문법 에러가 발생하게 된다.

 

그래서 짝수 번째 줄에 COMMIT; 문장을 출력해주는 스크립트를 꼼수로 작성해 보았다.

 

아래는 ITAS로 이루어진 itas_gen_sql.sql 파일

INSERT INTO USER1.TB0001 SELECT * FROM USER1.TB0001@ORA_DEV;

INSERT INTO USER1.TB0002 SELECT * FROM USER1.TB0002@ORA_DEV;

INSERT INTO USER1.TB0003 SELECT * FROM USER1.TB0003@ORA_DEV;

INSERT INTO USER1.TB0004 SELECT * FROM USER1.TB0004@ORA_DEV;

INSERT INTO USER1.TB0005 SELECT * FROM USER1.TB0005@ORA_DEV;

INSERT INTO USER1.TB0006 SELECT * FROM USER1.TB0006@ORA_DEV;

 

꼼수로 맨 마지막 글자가 세미콜론(;) 임을 이용해서 세미콜론뒤에 콜론을 하나더 붙여서, 콜론을 개행처리한 후 COMMIT; 을 추가하였다.

 

cat itas_gen_sql.sql | sed 's/\;/\;\:/g' | tr ':' '\n' | sed 's/^$/commit\;/g' > itas_gen_sql.sql_commit.sql

 

그럼 itas_gen_sql_commit.sql 파일은 아래와 같이 작성되어 있다.

 

INSERT INTO USER1.TB0001 SELECT * FROM USER1.TB0001@ORA_DEV;

COMMIT;

INSERT INTO USER1.TB0002 SELECT * FROM USER1.TB0002@ORA_DEV;

COMMIT;

INSERT INTO USER1.TB0003 SELECT * FROM USER1.TB0003@ORA_DEV;

COMMIT;

INSERT INTO USER1.TB0004 SELECT * FROM USER1.TB0004@ORA_DEV;

COMMIT;

INSERT INTO USER1.TB0005 SELECT * FROM USER1.TB0005@ORA_DEV;

COMMIT;

INSERT INTO USER1.TB0006 SELECT * FROM USER1.TB0006@ORA_DEV;

COMMIT;

 

TIP 으로 참고하길 바람

반응형