생각을 개발하자, 박진형

[CentOS] CentOS 기본 #3 - CRON, AT, 압축, 묶기, 찾기, 시스템 설정 본문

OS/CentOS

[CentOS] CentOS 기본 #3 - CRON, AT, 압축, 묶기, 찾기, 시스템 설정

imjinbro imjinbro 2017.07.05 18:17
[CRON 과 AT]
- CRON : 주기적으로 반복되는 일을 자동적으로 실행할 수 있도록 설정
=> 관련 데몬(서비스) : crond, 관련 파일 : /etc/crontab
=> cron 서비스 돌고 있는지 확인하기 : systemctl status crond
- 서비스가 돌고 있지않으면 예약을 걸어도 동작하지않음

=> /etc/crontab : 파일을 열어보면 친절하게 사용방법이 example로 나와있음
    => * * * * * username command to be executed : 분 시간 일 월 요일 유저네임 실행커멘드 순
    => 42 4 1 * * root run-parts /etc/cron.monthly : 매일 매월 1일 4시 42분 root 사용자 /etc/cron.monthly 디렉토리에 있는 쉘 스크립트들 실행
        => * 로 두면 자리 기준 항상 이라는 뜻
        => run-parts : 해당 디렉토리에 있는 것은 모두 실행, 간단하게 명령어만 쓸 수 있음
        => cron.monthly : 해당 작업은 * 이 월 단위부터기 때문에 디렉토리를 설정한 것, 일에 * 표기되었다면 daily로 설정
            => weekly / monthly / daily / hourly 디렉토리가 있음
        => 해당 디렉토리에 쉘 스크립트 만들면 됨

=> /etc/cron.monthly/ 에 쉘 스크립트 작성하기
    => 확장자 : .sh
    => 파일명 : 마음대로
    => 매 시마다 실행할 파일 : node의 fs 모듈로 매 시 01분마다 텍스트파일에 텍스트 쓰도록 하는 스크립트 파일 
        => 쉘스크립트 파일 코드      
#! /bin/sh
        echo ‘start exam3.js!’
        node /home/ec2-user/node-exam/crawler/exam3.js
        echo ‘end!'


=> $ systemctl restart crond : 예약 작업 쉘스크립트 작성까지 모두 끝났으면 서비스 재시작
    => 테스트 결과 : 잘 쓰임!

=> 실행이 되지않을 때 쉘스크립트 실행 권한을 주자 : root, 그룹, 사용자 모두에게 x 권한을 주면됨
=> js 파일에서 주의할 점 : 경로 설정 시 홈디렉토리가 기준, 홈디렉토리를 기준으로 상대경로 지정할 것
    => 일반적으로 node 스크립트파일 돌리면 에러날 수도 있는데, crond로 돌리면 에러가 안남


- AT : 한번만 실행되도록 설정, 일회성 작업 예약


[압축]
- xz, gz, bzip2 : 사용방법은 구글링!
- xz가 개선된 것 : 최근, 효율이 가장 좋음(커널파일은 요걸로 배포)
- 리눅스에서의 압축 개념은 압축 후 원본 파일이 존재하지않음


[파일 묶기]
- 압축과는 별개의 개념, 파일을 하나로 묶어줌
- tar 사용 
=> 원본 파일들은 그대로, tar 확장자 파일 하나 생성, 파일 크기는 거의 묶은 파일 모두 더한 크기
=> 묶기 : tar cvf 결과파일명.tar 묶을대상1 묶을대상2 …..
=> 풀기 : tar xvf 결과파일명.tar
=> j 옵션을 줌으로써 압축 과정을 거칠 수 있음 : tar cvfj 결과파일명.tar.xz (압축 확장자까지 적어줘야함, 크기가 조금 줄어듬)
    => xz가 좋은 점 : 파일명이 다르더라도 같은 내용이 여러개라면 하나로 줄여서 압축 파일로 만듬 (용량이 확줄어듬)
    => 압축 풀 때는 j 옵션을 주면됨 : xvfj
    

[파일 검색]
- find 명령어 사용 : find 경로 옵션 값
=> name 옵션 : 파일명으로 찾기, find /etc -name “*.conf"
=> user 옵션 : 사용자명이 존재하는지 찾기, find /home -user cents
=> size 옵션 : 파일 크기로 찾기, find /usr/bin -size +10k -size -100k (10kb~100kb)

- find 명령어를 사용할 때 경로는 줄여서 검색해주는 것이 좋음
- find 결과 ls 로 띄워주기(exec 옵션 사용) : find 경로 옵션 값 -exec ls -l {} \;
=> -exec : 외부 명령어 시작
=> \; : 외부 명령어 종료
=> -exec ls -l { } \; : 실행해라, 실행한 결과를 { } 중괄호에 넣고 출력하고 끝
    => ls -l : 이 자리는 결과에 따라 사용하기 원하는 명령어 사용하면 됨


[시스템 설정]
- 네트워크 설정 : nmtui
- 방화벽 설정 : firewall-config
- 서비스 설정 : ntsysv
- 사용자 설정 : system-config-users
- 네임서버 설정 : system-config-kickstart


[더하기]

- 프로젝트 개발 : 시간마다 크롤링 하도록 스케쥴 등록하기 - js 파일 실행하도록 설정하기 



Prev 1 2 3 4 5 6 7 Next