OS

    [Linux] 스케줄링 관리 (at , cron)

    at 스케줄링은 주로 프로그램을 특정시간에 한 번만 사용하고 싶을 때 이용한다. cron 스케줄링은 프로그램을 특정 날짜나 시간,요일에 맞춰 주기적으로 사용하고 싶을 때 이용한다. ex) 비 반복적인 업무 : 업데이트, 재부팅 -> at 스케줄링 반복적인 업무 : 정기적으로 파일백업 -> cron 스케줄링 at 명령어 작업 선언 # at 1300 # at 10:00pm today 작업 확인 # at -l # atq 작업 취소 # atrm N (N : Job ID) # at -r N - 비반복에 사용되는 명령어 - 지정한 시간에 어떠한 작업이 실행될 수 있도록 작업 스케줄을 예약 처리해 주는 기능 - at가 설치되어 있지 않다면 yum을 이용해 설치하자 (아래참고) - at 스케줄을 사용하기 위해서는 at..

    [Linux] Bash 문자열 변수 조작

    1.문자열 변수 자르기 ${변수이름:시작점} #시작점부터 끝자리까지 골라냄(시작점이 4면 4번째자리부터 끝까지) ${변수이름:시작점:개수} #시작점자리부터 개수 해당하는 문자 골라냄 ${변수이름:시작점:-개수} #시작점부터 변수 맨뒤 쪽에서 개수만큼 자르기 (-2면 뒤에서 시작점부터 2자리뺌) * 문자열의 인덱스는 0부터 시작 예제 $ STR="ABCDEFGH" $ echo ${STR:0} ABCDEFGH $ echo ${STR:4} EFGH $ echo ${STR:2:3} CDE $ echo ${STR:2-2} CDEF 2. 문자열 길이 구하기 ${#변수이름} 예제 $ TOKEN="asdgfgsafddgafg" $ echo ${TOKEN:1:-1} asdgfgsafddgafg *참고 https://hb..

    [Linux] curl을 통한 응답값 예쁘게 출력하는 방법(jq라이브러리)

    1. python -m json.tool 명령어 사용 curl | python -m json.tool 다음과 같이 예쁘게 출력되는 것을 볼 수 있다. 2. jq 라이브러리 사용 [사전 설치] wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 mv jq-linux64 jq chmod +x ./jq sudo cp jq /usr/bin 예제) JSON이 다음과 같이 있을 때 사용결과 { "name": "Google", "location": { "street": "1600 Amphitheatre Parkway", "city": "Mountain View", "state": "California", "country": "US" }, "..

    [Linux] 어떤 사용자가 언제 무슨 작업을 했는지 확인방법(로그 확인)

    1. lastlog lastlog는 /etc/passwd 파일에 정의되어 있는 시스템의 모든 계정 정보와 /var/log/lastlog 파일에 기록되어 있는 시스템 로그 파일을 분석하여 사용자의 마지막 시간,호스트 명, 포트를 출력하는 명령이다. # lastlog # lastlog -u jslee 옵션 설명 -u : 지정한 해당 계정의 마지막 접속 정보만 출력한다. 2. history 로그인한 사용자가 작업했던 command를 확인할 수 있다. 로그인한 순간부터의 입력한 command는 버퍼에 기록되며, 로그아웃 시 버퍼에 기록된 history를 ~/.bash_history 파일에 추가 기록이 된다. # history 3. HIST 변수(HISTTIMEFORMAT) 를 적용하여 명령어를 입력한 시간까지 ..

    [Linux] visudo로 sudo권한 설정하기(/etc/sudoers)

    visudo visudo를 통해 sudo권한을 편집할 수 있다. 만약 visudo를 쓰지 않고 직접 /etc/sudoers를 편집할 경우, 편집하다가 실수하면 sudo를 쓰지 못하게 되므로 문법체크를 해주는 visudo를 쓰는 게 좋다. ex)계정 생성 후 그룹에 추가하여 sudo권한 설정하기 adduser jslee passwd jslee usermod -aG wheel jslee visudo (수정전) ## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL (수정후) ## Same thing without a password %wheel ALL=(ALL) NOPASSWD: ALL * NOPASSWD:ALL 옵션은 sudo 전환 시 pass..

    column 명령어 (출력 형식 정렬)

    column - 텍스트 파일의 내용을 가로로 보기 좋게 정렬하여 보여주는 명령어 # mount | column -t 옵션 설명 사용법 : column [옵션] [파일...] -c : 전체 가로 폭을 columns 값으로 해서 정렬한다. -s : -t 옵션을 위해 가로칸 조사에 사용될 문자를 지정한다. -t : 입력되는 내용의 가로칸 갯수를 조사하고, 그것을 바탕으로 출력 양식을 정한다. 입력되는 내용의 가로칸 갯수는 공백문자로 구분한다. -x : 가로로 먼저 나열하고, 다음 세로로 나열한다.

    [Linux] df , du 명령어 사용법 (파일 시스템 사용량 측정)

    df (disk free space) - 파티션 단위의 사용량 점검 df 명령어는 남은 디스크 블럭과 남은 파일의 수를 출력하는 명령어이다. df 명령어에 -k, -h 옵션 등을 사용하면 출력 결과는 파일시스템 크기, 사용된 공간, 남은 공간, 전체에서 사용중인 %사용량, 마운트 포인트등을 출력한다. [명령어 형식] # df # df -k (-k : KB) # df -m (-m : MB) # df -h (-h : human) # df -k /data1 # df -k /data1 /home # df -T (#alias df='df -T -h') 옵션 설명 -k 여유 용량을 킬로바이트(kilobyte) 단위로 출력 -h 여유 용량을 사용자가 보기 쉽게 킬로바이트(kilobyte)와 메가바이트(megabyte..

    ssh 포트 변경( 22 → 2288)

    Linux서버의 22번포트를 2288로 변경 1) /etc/ssh/sshd_config에 Port 항목 수정 vi /etc/ssh/sshd_config #Port 22 Port 2288 2) 변경 후 restart 이용(새 세션을 열고 하기) systemctl restart sshd

    SSH 접속 시 Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

    MobaXterm에서 ssh 접속을 시도했는데 Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic) 이러한 오류가 뜸.. 방법1) ssh 접속시마다 각 터미널프로그램에서 private key (확장자pem,ppk) 파일 지정해서 접속 방법2) 자동로그인 설정 ① sshd_config 파일에서 AuthorizedKeysFile .ssh/authorized_keys 주석처리 vi /etc/ssh/sshd_config ② ~/.ssh/authorized_keys 에서 공개키파일내용 복사-붙여넣기 (.ssh란 디렉토리와 authorized_keys 파일 없으면 생..

    [Linux 명령어] JAVA 버전과 위치 확인하기

    버전 확인 javac 버전 확인하기 javac -version javac 1.8.0_302​ java 버전 확인하기 java -version openjdk version "1.8.0_302" OpenJDK Runtime Environment (build 1.8.0_302-b08) OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)​ 위치 확인 javac 위치 확인하기 which javac /usr/bin/javac​ java 위치 확인하기 which java /usr/bin/java​ javac의 심볼릭 링크 원본 찾기 readlink -f /usr/bin/javac /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el..