linux 주기적 작업 계획at 및cron의 간단한 요약

일회성 작업 계획:at,batch
주기적 작업 계획:cron
at:간단한 사용법
at TIME
at>
작업 제출: ^c+d
작업 결과: 시스템에서 현재 사용자를 메일로 보내기
메일 수신:
서비스 시작 여부 상태 보기 명령:
netstat -tnl |grep ":25"
기본 메일 수신은 이 컴퓨터의 사용자 간에만 가능하며, 링 인터페이스의 주소로만 가능합니다.
# mail
q:종료
N: N번째 메시지 보기
지정된 사용자에게 이메일 보내기(시스템 내):
# mail USERNAME[@HOSTNAME]
-s "SUBJECT"주제
echo | mail 도 파이핑 사용 가능
TIME 형식
정확한 시간:
HH:MM
모호한 시간:
now+#UNIT
noon , midnight,teatime, tomorrow
작업 대기열 보기:
at -l, atq
실행되지 않은 작업을 삭제하려면 다음과 같이 하십시오.
at -d [JOB_NUM], at rm
이 파일을 실행할 작업으로 읽을 수 있도록at가 실행할 모든 작업을 파일에 저장할 수 있습니다. (적용량이 많은 작업)
at -f/PATH/TO/SOMEFILE TIME
batch: 시간을 지정하지 않아도 미래의 어떤 시스템 자원이 비교적 빈 시간에 자동으로 실행됩니다
주기적 작업 계획:cron
백그라운드 서비스에 의존하여 운행 상태를 보다
서비스 crond status CentOS {5,6} 버전 보기 명령, 다음 출력 결과가 있으면cron을 사용할 수 있습니다
crond (pid 1680) is running
cron 작업에는 두 가지 유형이 있습니다.
시스템cron:/etc/crontab
사용자cron:/var/spool/cron/디렉터리에 사용자 이름과 같은 이름으로 정의된 파일
각 행은 별도의 작업을 정의합니다.
/etc/crontab을 보면 다음과 같은 정보가 있습니다.
[root@localhost ~]# cat/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
다음 세 부분으로 구성됩니다.
시점(주기적 작업)
user-name:사용자 ID
command: 실행할 작업
주의:cron 작업을 정의할 때 사용하는 명령은 절대 경로를 사용하거나 완전한 경로를 가진 환경 변수를 설정하는 것을 권장합니다.
시간 표현:
1. 모든 시간은 사용 가능한 유효 수치 범위 내의 값을 사용해야 하며, *사용기한의 모든 유효 수치를 표시하는 데 사용한다.
2.*/#: 해당 시간대 유효 수치에서 # 시간대마다 한 번
주의: 분 단위의 수치 범위를 정의하려면 60으로 나누어야 합니다
3. 연속 시점: -
4. 이산 시점:,
작업 실행 후 결과: 작업 관련 사용자에게 메시지를 보내려면 다음과 같이 하십시오.
메일 알림 버리기: 출력 리셋
COMMAND >/dev/null
COMMAND &>/dev/null
COMMAND >  /dev/null 2>&1
/dev/null: 소프트웨어가 시뮬레이션한 장치,bit bucket, 데이터 블랙홀
사용자 cron 작업의 정의:
crontab 명령:
-l: 정의된 모든 작업 나열
-e: 편집기 열기
-r:remove, 모든 작업 제거
-uuser: 자신의cron 작업을 관리하는 것이 아니라 지정한 대상 사용자의cron 작업을 관리하는 것입니다.루트만 다른 사용자의cron 작업을 관리할 수 있는 권한을 가지고 있습니다.기본 관리
주의:crontab 파일의% 는 뜻을 바꾸거나 인용부호로 인용해야 합니다.
작업:
매주 월요일부터 토요일 새벽 3시 20분까지 cp 명령을 실행하여/etc/디렉터리를 압축 파일로 저장합니다. 저장 위치는/backups/etc-YYYY-MM-D입니다.
20 3 * * 1-6/bin/cp  /etc  /backups/etc-$(date+'%Y-%m-%d')
[root@localhost ~]# mkdir -p /backups/etc
[root@localhost ~]# crontab e
[root@localhost etc]# crontab -l
20 3 * * 1-6  /bin/cp /etc /backups/etc-$(date +'%Y-%m-%d')

매주 새벽 2시 30분, cp 명령을 실행하여/etc/fstab 파일을 백업합니다. 저장 위치는/backup/fstab-YYYY-MM-DD-h-mm-ss입니다.
30 2 * * 7  /bin/cp/etc/fstab/backup/fstab-$(date +'%Y-%m-%d-%H-%M-%S')
[root@localhost etc]# mkdir -p /backups/fstab
[root@localhost etc]# crontab e
[root@localhost etc]# crontab l
30 2 * * 7   /bin/cp /etc/fstab /backup/fstab-$(date +'%Y-%m-%d-%H-%M-%S')

매일 밤 12시에/proc/meminfo 파일에서 S 또는 M으로 시작하는 모든 줄을 가져와/statistics/meminfo에 추가합니다.txt 파일에서 매일 메시지를 보내기 전에 유사한 ========================의 구분선을 붙여야 한다
6 0 * * *  /bin/egrep/proc/meminfo "^[S,M].*">>/statistics/meminfo.txt && echo ========================== >>/statistics/meminfo.txt
[root@localhost etc]# mkdir -p /backups/fstab
[root@localhost statistics]# crontab e
[root@localhost statistics]# crontab -l
6 0 * * *   /bin/egrep /proc/meminfo "^[S,M].*" >> /statistics/meminfo.txt && echo ========================== >> /statistics/meminfo.txt

좋은 웹페이지 즐겨찾기