쿠버네티스 전문가 양성과정 2주차 5일(12/30)

최수환·2022년 12월 30일
0

Kubernetes

목록 보기
11/75
post-thumbnail

작업

포그라운드 / 백그라운드

  • 포그라운드 프로세스 : 사용자가 입력한 명령이 실행되어 결과가 출력 될 때까지 기다려야 하는 작업
    -> 명령의 결과가 출력되는 동안 다른 작업 못함
    ex) sleep 100 하면 다른 작업 못하고 기다림

  • 백그라운드 프로세스 : 명령을 실행하면 명령의 처리가 끝나는 것과 관계없이 곧바로 프롬프트가 출력되어 사용자가 다른 작업을 계속 할 수 있음
    -> 명령의 결과와 상관없이 여러 작업을 수행 함
    ex ) sleep 100 & 해도 다른 작업 가능

백그라운드 / 포그라운드 작업제어

  • 작업전환 : 포그라운드 -> 백그라운드, 백그라운드 -> 포그라운드
  • 작업 일시 중지 : 작업을 잠시 중단
  • 작업 종료 : 작업을 종료

jobs

  • 백그라운드 작업을 모두 보여준다
  • 형식 : jobs %작업번호
  • ctrl + z : 포그라운드 작업을 중지하고 -> 백그라운드로 보낸다
  • bg %작업번호 : 특정 작업번호를 백그라운드로 전환
  • fg %작업번호 : 특정 작업번호를 포그라운드로 전환
  • kill -9 %작업번호나 kill -9 PID를 이용해서 강제종료 시킨다

nohup : 로그아웃해도 백그라운드에서 작업을 계속 실행하기

  • ex) nohub find / -name passwd > pw.dat 2>&1 &

작업예약 : 스케줄링

  • 정해진 시간에 한 번만 수행(at)

  • 정해진 시간에 반복 수행(crontab)

    at

    • 예약한 명령을 정해진 시간에 실행한다
    • 형식 : at [옵션][시간]
    • at -l , atq : 예약한 작업 목록 보기
    • ex) at 11:17 2022-12-30 -> ls -al > 1.txt -> ctrl + d 로 저장
    • 작업삭제 at -r 작업번호
    • at로 생성한 작업은 /var/spool/at 디렉터리에 생성됨

    💡 특정 터미널로 출력하고싶으면 '명령어' > /dev/pts/ '번호'
    📗 pts번호는 ps명령어로 알 수 있다.

    crontab

    • 사용자의 crontab파일을 관리한다
    • 형식 : crontab [-u 사용자 ID][옵션] [파일명]
    • root사용자라면 다른 사용자에게 -u옵션으로 cron작업을 예약할 수 있다.
    • /var/spool/cron 디렉터리에 crontab파일이 생성된걸 볼 수 있다
    • crontab -e로 예약명령을 작성할 수 있는데 vi편집기랑 사용방식이 동일하다.
    • 시스템 차원에서 crontab예약 법 : vi /etc/crontab 접속후 파일 수정(사용자 반드시 명시)
    • ex) 매년 1월 첫번째 일요일에 재부팅 설정
      -> 0 0 1-7 1 0 reboot / 시간은 24시간을 기준으로 작성
    • 10분마다 = */10

📗 /etc/cron.d : 보통 소프트웨어 패키지를 설치한 후 그 소프트웨어와 관계된 cron 예약작업이 등록된다.
📗 ls /etc/cron* : /etc/cron.시간 디렉터리들이 있는데 여기에다 쉘 스크립트를 넣으면 각 시간마다 쉘스크립트가 동작되게 할 수 있다.
📗 crond , atd 데몬 프로세스가 crontab, at를 가능하게 해준다

  • /etc/at.deny , /etc/cron.deny에 등록된 사용자는 스케줄링 x (allow파일 없을 때)
  • /etc/at.allow , /etc/cron.allow가 존재하면 등록된 사용자만 스케줄링 가능 (두개 파일 다 존재할 때)
  • 두 파일 다 존재하지 않으면 root만 사용 가능
    🖍 vi로 해당 파일들에 접속해서 권한을 허락/거부 할 수 있다.

아카이브와 압축

아카이브 : 여러개 파일을 하나의 파일로 묶음
압축 : 용량을 줄인다
🖍 window는 아카이브와 압축을 한번에 실행하지만 linux는 따로 실행하기 때문에 완전히 다른 개념이다

  • tar
    • 다른 시스템과 파일을 주고받거나, 백업을 하기 위해 여러 파일이나 디렉터리를 하나의 아카이브 파일로 생성하거나, 기존 아카이브에서 파일을 추출하기 위해 사용.
    • 형식 : tar 기능 [옵션][아카이브 파일] [파일명]
    • 아카이브 생성 : tar cvf a.tar(tar 파일) 1 2 3 4 5 (파일들)
    • 아카이브 파일 보기 : tar tvf a.tar
    • 아카이브 파일 풀기 : tar xvf a.tar
    • 아카이브에 파일 추가하기 : tar uvf a.tar 6 (파일)
  • gzip
    • 파일을 압축한다 = 파일의 용량을 줄인다
    • 형식 : gzip [옵션][파일명]
    • 아카이브된 .tar파일을 압축한다 = .tar.gz 으로 변경
      -> gzip a.tar
    • 압축된 파일 내용보기 : gzip -l a.tar.gz
    • 압축풀기 : gunzip a.tar.gz
    • 압축 풀고 파일 읽기 : zcat <-> cat (일반 파일 읽기)

📒 아카이브와 압축 동시에 하기
-> tar czvf a.tar.gz 1 2 3 4 5

  • bzip2 : gzip의 다른 버전 , 다른 확장자
    • 파일을 압축한다
    • 압축 풀고 파일 읽기 : bzcat
    • 압축풀기 : bunzip2

📒 아카이브와 압축 동시에 하기
-> tar cjvf a.tar.bz2 1 2 3 4 5

📌 linux에서 .zip도 지원하긴 한다 = 아카이브, 압축 동시에 해준다 (zip, unzip)


profile
성실하게 열심히!

0개의 댓글