셸 의 일부 배경 에서 명령 을 실행 합 니 다 (crontab/at/& nohup)

4477 단어 셸 학습 노트
터미널 이나 콘 솔 에서 일 할 때 한 작업 이 화면 전 체 를 차지 하 는 것 을 원 하지 않 습 니 다. 다른 일이 있 을 수 있 기 때 문 입 니 다.이 럴 때 우 리 는 프로 세 스 가 백 스테이지 에서 실행 할 수 있 도록 완벽 하 다 고 생각 했다.다음은 선택 할 수 있 는 몇 가지 방법 이 있 습 니 다. 1. crontab 파일 을 설정 하고 작업 실행 을 제출 합 니 다. 2. at: 특정한 시간 에 특수 한 작업 을 실행 하거나 늦 은 비 부하 피크 시간 대 나 피크 부하 시간 대 에 실행 합 니 다. 3. &: 배경 에서 점용 시간 이 길지 않 은 프로 세 스 작업 을 제출 합 니 다.4. nohup: 이 명령 으로 작업 을 제출 합 니 다. 사용자 가 종료 할 때 도 영향 을 받 지 않 습 니 다.
crontab
cron 은 시스템 의 주요 스케줄 링 과정 으로 인공 적 으로 관여 하지 않 아 도 작업 을 실행 할 수 있 습 니 다. crontab 라 는 명령 은 사용자 가 해당 하 는 작업 을 제출 하거나 편집 하거나 삭제 할 수 있 도록 합 니 다.crontab 파일 의 위 치 는 보통/var/spool/cron/에 있 습 니 다. 구체 적 인 설정 은 참고 하 시기 바 랍 니 다.http://blog.chinaunix.net/uid-20448327-id-4195269.html crontab 파일 각 항목 의 형식: 분 + 시 + 일 + 월 + 주 + 실행 할 명령 command 각 도 메 인 간 에 빈 칸 으로 각 도 메 인 값 을 구분 하여 설명 해 야 합 니 다. 1. 분: 1 - 60, 시: 0 - 23;일: 1 - 31;월: 1 - 12;요일: 0 - 6 2. 각 도 메 인 에서 여러 개의 값 을 가 져 오 면 각 값 사 이 를 쉼표 로 구분 합 니 다. 3. 각 도 메 인 에서 연속 적 인 값 을 가 져 오 면 시작 값 과 끝 값 을 가 져 옵 니 다. 중간 에 가로 줄 - 연결 하면 됩 니 다. 4. 각 도 메 인 에 값 이 있어 야 합 니 다. 제한 되 지 않 으 면 * 로 표시 합 니 다.
단계: crontab 파일 을 만 들 기 전에 환경 변수 EDITOR 를 설정 해 야 합 니 다.cron 프로 세 스 는 그것 에 따라 어떤 편집 기 를 사용 하여 crontab 파일 을 편집 하 는 지 확인 합 니 다.vi 를 사용한다 면 $HOME 디 렉 터 리 에 있 는. profile 파일 을 편집 하고 이 줄 을 추가 하 십시오: EDITOR = vi;export EDITOR 를 저장 하고 종료 합 니 다.
1. 새로운 crontab 파일 을 만 듭 니 다. (파일 이름 은 dogcron) 다음 과 같 습 니 다. 주의: 이 파일 의 모든 설명 줄 은 줄 의 첫 번 째 사용\# 로 매일 12 시 에 시스템 의. log 로 끝 나 는 파일 을 찾 고 삭제 하 는 것 을 표시 합 니 다.
# find Specified file to remove it everyday at 12:00
0 12 * * * /bin/find -name "*.log" -exec rm {} \;

2. cron 프로 세 스에 제출
$ crontab  dogcron

3. crontab 파일 을 보 여주 고 백업 하기:
$ crontab -l >> apps/mycron

오 삭제 방지!!!백업
4. crontab 파일 편집
$ crontab -e

vi 편집기 의 다른 파일 을 사용 하여 crontab 파일 을 수정 하여 저장 하고 종료 합 니 다.
5. crontab 파일 삭제
$ crontab -r

다음은 두 가지 예 를 들 어 설명 한다. 153, 1, 10, 22 */apps/tmp/backup. sh 는 매달 1, 10, 22 일의 3: 15 운행/apps/tmp 디 렉 터 리 의 backup. sh 0, 30 18 - 23 * */apps/tmp/hello. sh 는 매일 18: 00 부터 23: 00 까지 30 분 간격 으로 실행/apps/tmp 디 렉 터 리 의 hello. sh 를 표시 한다.
at 명령
at 명령 의 형식 은 다음 과 같 습 니 다. at [- f script] [- m - l - r] [time] [date] 에서 - f script: 제출 할 스 크 립 트 나 명령 - l: 현재 실행 중인 모든 작업 - r: 작업 지우 기 -m: 작업 이 끝 난 후 사용자 에 게 메 일 을 보 내 는 time: at 명령 의 시간 형식 은 매우 유연 합 니 다. 예 를 들 어 6.45am May 12/11.10pm/now + 1 hour/9am tomorrow/15: 00 May 24 는 모두 날짜: 날짜 형식 은 월 수 나 날짜 수 일 수 있 습 니 다. today, tomorrow 도 좋 습 니 다.
일반적으로, 여러 줄 의 시스템 명령 을 제출 할 때, 나 는 at 명령 프롬프트 방식 을 사용 합 니 다. 셸 스 크 립 트 를 제출 할 때 명령 행 방식 을 사용 합 니 다. 만약 당신 이 몇 줄 의 명령 을 제출 하고 싶다 면, at 이름 뒤에 날짜/시간 을 따라 돌아 갈 수 있 습 니 다.그리고 at 명령 프롬프트 에 들 어 갔 습 니 다. 이 때 는 명령 을 하나씩 입력 하고 Ctrl + D 키 를 누 르 면 종료 합 니 다.예 를 들 어 설명: 1. 명령 제출: 내일 오후 6 시 에 실행/apps/tmp 디 렉 터 리 에 있 는 clean. sh 스 크 립 트 를 실행 합 니 다.
$ at 6.00pm tomorrow -f /apps/tmp/clean.sh

2. 명령 을 표시 하면 해당 작업 표지 (첫 번 째 열) 를 가 져 올 수 있 습 니 다.
$ at -l

3. 작업 지우 기
$ atrm job 

& 명령
이 명령 의 일반적인 형식 은: command &
$ command >myout.file 2>&1 &

command 명령 을 실행 하고 모든 표준 출력 과 오류 출력 을 my out. file 파일 로 재 설정 합 니 다. 이 프로 세 스 를 제출 하면 프로 세 스 번호 가 표 시 됩 니 다. 프로 세 스 (ps - ef | grep [process number]) 를 감시 하거나 죽 일 수 있 습 니 다 (kill [process number]).
nohup 명령
이 명령 의 일반적인 형식 은: nuhup command & nohup 명령 으로 작업 을 제출 합 니 다. 부족 한 경우 이 작업 의 모든 출력 은 nohup. out 이라는 파일 로 재 설정 되 며, 출력 파일 이 따로 지정 되 어 있 지 않 은 경우:
$ nohup command > myout.file 2>&1

좋은 웹페이지 즐겨찾기