Linux 아래 crontab 를 사용 하여 정시 작업 을 만 듭 니 다.
운영 체제 가 설치 되면 기본적으로 이 작업 스케줄 링 명령 을 시작 합 니 다.
crond 명령 은 매 분 마다 정기 적 으로 실행 할 작업 이 있 는 지 확인 하고 실행 할 작업 이 있 으 면 자동 으로 이 작업 을 수행 합 니 다.
windows 에 계획 적 인 임무 가 있 는 것 처럼 centos 7 에 도 자 연 스 럽 게 계획 적 인 임무 가 있 고 설정 이 더욱 유연 하 며 사용 하기 좋다.또한 centos 7 에 서 는 crontab 를 이용 하여 계획 임 무 를 수행 할 수 있 고 crond 와 의 시스템 서비스 에 의존 할 수 있 습 니 다. 이 서 비 스 는 시스템 자체 가 가지 고 있 으 며 상 태 를 직접 보고 시작, 정지 할 수 있 습 니 다.
복무
cron 의 상 태 를 보고 부팅 으로 설정 합 니 다.
systemctl status crond ( )
systemctl enable crond ( )
systemctl start crond ( crond )
메모: 새로 만 든 cron 작업 은 바로 실행 되 지 않 습 니 다. 적어도 2 분 이 지나 야 합 니 다. 물론 cron 을 다시 시작 해서 바로 실행 할 수 있 습 니 다.
한편, Liux 작업 스케줄 링 작업 은 주로 다음 과 같은 두 가지 로 나 뉜 다.
문법
crontab [ -u user ] file
혹시
crontab [ -u user ] { -l | -r | -e }
:
crontab 는 사용자 가 고정 시간 이나 고정 간격 으로 프로그램 을 실행 하도록 하 는 데 사용 된다. 다시 말 하면 사용자 와 유사 한 시간 표 이다.
- u user 는 지정 한 user 의 시간 표를 설정 하 는 것 을 말 합 니 다. 이 전 제 는 권한 (예 를 들 어 루트) 이 있어 야 다른 사람의 시간 표를 지정 할 수 있 습 니 다.- u user 를 사용 하지 않 으 면 자신의 시간 표를 설정 하 는 것 을 의미 합 니 다.
매개 변수 설명:
f1 f2 f3 f4 f5 program
* * * * *
- - - - -
| | | | |
| | | | +----- (0 - 7) ( 0)
| | | +---------- (1 - 12)
| | +--------------- (1 - 31)
| +-------------------- (0 - 23)
+------------------------- (0 - 59)
사용자 도 모든 설정 을 파일 에 저장 하고 crontab file 방식 으로 실행 시간 을 설정 할 수 있 습 니 다.
실례
매달 매일 시간 당 0 분 에 한 번 씩/bin/ls 를 실행 합 니 다.
0 * * * * /bin/ls
12 월 에는 매일 아침 6 시 부터 12 시 까지 3 시간 0 분 간격 으로/usr/bin/backup 을 실행 합 니 다.
0 6-12/3 * 12 * /usr/bin/backup
5:00 [email protected]
0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata
매월 매일 자정 0 시 20 분, 2 시 20 분, 4 시 20 분.
20 0-23/2 * * * echo "haha"
:
0 */2 * * * /sbin/service httpd restart apache
50 7 * * * /sbin/service sshd start 7:50 ssh
50 22 * * * /sbin/service sshd stop 22:50 ssh
0 0 1,15 * * fsck /home 1 15 /home
1 * * * * /home/bruce/backup /home/bruce/backup
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; 3 , /home , *.xxx , 4 。
30 6 */10 * * ls 1、11、21、31 6:30 ls
메모: 프로그램 이 지정 한 시간 에 실 행 된 후에 시스템 은 현재 사용자 에 게 메 일 을 보 냅 니 다. 이 프로그램 이 실 행 된 내용 을 표시 합 니 다. 이러한 메 일 을 받 고 싶 지 않다 면 줄 마다 한 칸 씩 비 어 있 는 후에 추가 하 십시오. >/dev/null 2>&1 되다
20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh > /dev/null 2>&1
질문
만약 우리 가 crontab 를 사용 하여 스 크 립 트 를 정시 에 실행 할 수 없다 면, 실행 할 수 없습니다. 그러나 명령 (예:./test. sh) 을 통 해 직접 실행 할 수 있다 면, 이것 은 환경 변 수 를 읽 을 수 없 기 때 문 입 니 다.
해결 방법:
#!/bin/sh
. /etc/profile
. ~/.bash_profile
3. /etc/crontab 환경 변 수 를 추가 하고 명령 을 실행 하기 전에 명령 을 추가 합 니 다. ./etc/profile;/bin/sh 는 여러 번 효력 을 발생 시 켰 습 니 다. 예 를 들 어 20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.