Linux 8

Linux - expect, spawn, send etc..

expect는 자동화된 상호작용을 처리하는 스크립트 언어이다.보통 SSH, FTP, Telnet, 패스워드 입력 등의 자동화에 사용된다.spawn은 expect 스크립트에서 특정 프로그램을 실행하는 명령어로, 이 프로그램과의 상호작용을 관리할 수 있도록 해준다.1. spawn의 역할spawn은 지정한 명령어를 실행하고 해당 프로세스와 상호작용할 수 있도록 만든다.보통 expect, send와 함께 사용되어 입력을 자동으로 처리할 수 있다.2. SSH 자동 로그인ex) SH 자동 로그인을 수행하는 expect 스크립트 #!/usr/bin/expect # SSH로 원격 서버 접속 자동화 예제 set timeout 10 # 타임아웃 설정 (초) set user "your_user" # 사용자명set host ..

Linux 2025.03.16

Linux - Shebang

쉘 스크립트의 첫 줄에 나오는 #!/bin/bash는 ''셰뱅(Shebang)" 이라고 불리며,스크립트를 실행할 때 사용할 인터프리터를 지정하는 역할을 한다.1. #!/bin/bash의 의미#!(Shebang) 뒤에 오는 /bin/bash는 **Bash(Bourne Again Shell)**를 사용하여 스크립트를 실행즉, 스크립트는 /bin/bash를 통해 실행되며, Bash 문법을 따르게 된다.2. 다른 셰뱅의 종류셰뱅은 Bash뿐만 아니라 다양한 인터프리터를 지정할 수 있다. #!/bin/shPOSIX 호환 Bourne Shell 사용 (일반적으로 /bin/sh는 시스템에 따라 다른 셸로 연결될 수 있음)#!/bin/bashBash 사용 (리눅스에서 가장 많이 사용됨)#!/bin/zshZsh 사용 (..

Linux 2025.03.16

Linux - crontab

1.crontab 옵션별 설명옵션설명예시-u [사용자명]특정 사용자의 크론 작업을 설정/조회/삭제 (root 권한 필요)sudo crontab -u -l-e현재 사용자의 크론 작업을 편집 crontab -e -l현재 사용자의 크론 작업 목록 출력crontab -l-r현재 사용자의 크론 작업 삭제crontab -r-i-r 옵션과 함께 사용하면 삭제 전에 확인 요청crontab -i -r-s일부 시스템에서 SELinux 보안 컨텍스트를 유지하며 크론 작업을 실행하는 옵션crontab -s-Vcrontab 버전 출력crontab -V-x디버그 모드 활성화 (ext, load, misc, parse, proc)crontab -x parse 2. 시간 형식분(0-59) 시(0-23) 일(1-31) 월(1-12)..

Linux 2025.03.09

Linux - find

find [path] [options] [expression] -name "pattern""패턴" 으로 파일 조회-iname "pattern""패턴" 으로 파일 조회-type [f/d/l]유형 [f/d/l] 유형별로 조회 :f (파일),d (디렉토리),l (Symlink).-size [+/-N]c크기별로 조회 :n bytes,+n (큰),-n (작은).-empty빈 파일 또는 디렉토리 조회-user username특정 사용자가 소유 한 파일 조회-group groupname특정 그룹에 속하는 파일 조회-perm 644644 권한 파일 조회-perm -u+x사용자 실행 권한이 있는 파일 조회-mtime [+/-N]며칠전에 수정 된 파일 조회 (+N = older, -N = newer).-atime [+/-..

Linux 2025.03.02

Linux - grep

grep [OPTIONS] PATTERN [FILE...] -i대소문자 구분하지 않음.-v제외 옵션-c일치하는 라인의 수-l일치하는 파일 이름 나열-n일치 라인과 함께 라인 번호를 표시-H일치하는 줄과 함께 파일 이름을 표시-r or -R디렉토리를 재귀적으로 검색-w단어와 일치하는 행만 출력-x라인 만 일치 하는 행만 출력-E확장 정규 표현식 (egrep와 동일)를 사용-F찾을 패턴을 문자열로 사용-o일치하는 부분만 출력--color=auto 강조 표시 ex)#error 대소문자 구분없이 조회grep -i "error" logfile.txt#디렉토리의 모든 파일에서 재귀 검색grep -r "TODO" /path/to/code/#파일에서 단어를 찾고 라인 수를 출력grep -c "failure" repor..

Linux 2025.03.02

Linux - TOP

1. 헤더 섹션시스템의 전반적인 상태에 대한 요약을 제공. 시스템 정보top - 15:23:56 up 10 days, 3:42, 2 users, load average: 0.52, 0.45, 0.50현재 시간: 현재 시스템 시간(예: 15:23:56)가동 시간: 마지막 재부팅 이후 시스템이 실행된 기간(예: '10일, 3:42').로그인 사용자: 현재 로그인된 사용자 수(예: 2 사용자).load average: 지난 1분, 5분, 15분 동안의 시스템 로드 평균(0.52, 0.45, 0.50). 작업Tasks: 200 total, 2 running, 198 sleeping, 0 stopped, 0 zombietotal: 작업 또는 프로세스의 총 개수(예: '200').running: C..

Linux 2025.01.12

Linux - TOP command

TOP 명령어top 명령어는 현재 OS의 상태를 나타내주는 CLI 어플리케이션입니다. 메모리 사용량, CPU 사용량 등을 나타내주며 top를 실행하는 동안에는 주기적인 업데이트로 실시간에 근접한 내용을 보여줍니다. 리눅스에서 top 명령어를 실행하면 아래와 깉이 노출됩니다. 위에는 전체의 요약이 있으며 아래에는 각 프로세스마다 구체적인 내용을 포함하고 있습니다.요약 영역요약 영역은 top에서 상단에 위치하고 있습니다. 이 요약영역은 전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려줍니다. 요약 영역에 나타나는 대표적인 값은 시간, 유저, 로드 에버리지(Load Average), 테스크(Tasks), CPU, 메모리(memory)로 아래의 이미지를 보시면 각 영역에 대해 나태내느 값이..

Linux 2024.05.21

Shell scripts - 클러스터링 작업 시 사용한 기술 기록

redis -> postgresql로 적재하는 python프로그램 이중화 as-is실시간 데이터 적재 프로그램 1번 서버에서 py프로그램 crontab 1분마다 실행1서버 shutdown시 db적재불가.to-be2번 서버의 python환경을 1서버와 동일하게 맞춤2번 서버에서 1번서버의 heartbeat상태를 체크.(30초마다 1번서버의 heartbeat가 로그를 남김)1번 서버의 heartbeat상태 체크 후 shutdown상태일 시 ping명령어의 receive신호와 python프로그램이 구동중인지(ssh명령어) 체크1번 서버 이슈 해소 시 2번 서버 python프로그램 자동 종료 ※ 테스트1번, 2번 서버가 동시에 프로그램이 구동되는 순간이 있는가? 있다면 중복 적재에 대한 해결법은?=> 구동되는 ..

Linux 2024.04.13