본문 바로가기

Utils & Infra & Tool/Shell11

sftp 자동화 script (Expect 활용) sftp 자동화 script (Expect 활용) 개념 sftp 자동화를 위해선 Expect 명령어가 필요합니다. Expect 란 원격 프로그램에 접속 했을 때, 해당 원격 프로그램에서 명령어를 수행시킬 수 있는 명령어입니다. 예를 들면, ssh 를 통해 원격 서버에 접속하기 위해선 로그인을 해야하고, 사람이 ID, PW 를 입력해야 합니다. 이러한 작업들을 Expect 를 이용해서 자동화 처리할 수 있습니다. 명령어 send : 원격 프로그램에 보내는 명령어 입니다. 예를 들면, 원격 서버에 ssh 로 접속한 상태에서 send echo hello world 라고 하면 hello world 출력 됩니다. spawn : 원격 프로그램을 실행시키는 명령어 입니다. ex) spawn ssh xxx sftp 자.. 2021. 10. 13.
프로세스 병렬로 돌리는 예제 Shelll linux 환경에서 프로세스를 병렬로 돌리는 shell 정리 wait 란? linux 에서 wait 명령어는 자식프로세스가 종료할 때까지, 부모프로세스가 sleep() 모드로 기다립니다. 예를 들면, 부모 process 에서 자식 프로세스를 호출하는데 자식 프로세스가 20초 걸린다고 가정하겠습니다. 자식 프로세스가 20초 걸릴 동안 부모 process 가 종료를 해버리면 자식 프로세스는 좀비 프로세스가 되버립니다. 그렇기 위해 wait 를 사용합니다. shell source parallelTest.sh subModule.sh, subModule2.sh 를 병렬로 호출하고 각 자식프로세스를 wait 했다가 마지막에 각 자식 프로세스의 exitCode 를 출력합니다. #!/bin/sh # 각 pid 를 저장.. 2021. 8. 2.
find, mv 를 조합해서 폴더에서 폴더로 파일 이동 또는 복사 1. find, mv 를 조합해서 폴더에서 폴더로 파일 이동 또는 복사 아래 예제는 현재 위치에서 파일 타입, 수정일이 오늘로부터 1일 이내인 파일을 '옮길위치폴더' 로 이동시킵니다. mv 대신 cp 를 사용하면 현재 폴더에있는 파일이 복사가 됩니다. 2. source find . -type f -mtime -1 -exec mv {} '옮길위치폴더' \; 2021. 4. 19.
unix shell array for loop, for loop 내부에서 curl 호출 unix shell array for loop, for loop 내부에서 curl 호출 ARRAY 를 for loop 문 돌림. ARRAY 를 for loop 에서 curl 호출 ARRAY = ( "ABC" "BCD" "CDE" ) for ARRAY in ${ARRAY[@]}; do echo "${ARRAY} done ARRAY = ( "ABC" "BCD" "CDE" ) for ARRAY in ${ARRAY[@]}; do curl --xxx '{\"param1\":\"TEST\", \"param2\":\"${ARRAY}\"' done 2021. 2. 9.