12. 계획 임무, 일지 윤전
계획 임무는 일회성과 순환적인 계획 임무로 나뉜다
스케줄 실행
역할: 계획 작업은 주로 주기적인 작업을 하고 현재 가장 중요한 용도는 정기적으로 데이터를 백업하는 것이다
일회성 스케줄링 집행at---실전
at
now +5min
teatime tomorrow (teatime is 16:00)
5pm august 3 2019
1:
[root@biudefor ~]# yum -y install at
[root@biudefor ~]# systemctl status atd #
[root@biudefor ~]# systemctl start atd //
[root@biudefor ~]# at now +1min //
at> useradd uuuu
at> //Ctrl+D
job 1 at Sat Mar 21 22:34:00 2015
[root@biudefor ~]# id uuuu
2:
[root@biudefor ~]# vim at.jobs
useradd u99
useradd u00
touch /a.txt
[root@biudefor ~]# at 20:33 < at.jobs
3:
1. sudo
[root@biudefor ~]# id jack
uid=1007(jack) gid=1012(jack) groups=1012(jack)
[root@biudefor ~]# useradd jack #
[root@biudefor ~]# visudo
91 ## Allow root to run any commands anywhere
92 root ALL=(ALL) ALL
93 jack ALL=(ALL) NOPASSWD: ALL #
[root@biudefor ~]# su - jack
2. sudo jack at
[jack@biudefor ~]$ vim jack.at
sudo useradd u200
sudo useradd u300
sudo touch /home/jack.txt
[jack@biudefor ~]$ at 20:38 < jack.at
순환 스케줄링 실행cron 사용자급
[root@biudefor ~]# systemctl status crond.service
[root@biudefor ~]# ps -ef | grep crond
root 755 1 0 20:18 ? 00:00:00 /usr/sbin/crond -n
#crond
:
[root@biudefor ~]# cd /var/spool/cron/
:
crontab -l List the jobs for the current user. //
crontab -r Remove all jobs for the current users. //
crontab -e Edit jobs for the current user. //
-u username,
:
Minutes Hours Day-of-Month Month Day-of-Week Command
0-59 0-23 1-31 1-12 0-7
man : #man 5 crontab
:
*:
*/5
,:
- :
실전
[root@biudefor ~]# vim /home/soso.sh
#!/bin/bash
touch /opt/a.txt
[root@biudefor ~]# chmod +x /home/soso.sh
예약된 작업 작성
[root@biudefor ~]# crontab -e //
6:00
0 6 * * * /home/soso.sh
8:40
40 8 * * * /home/soso.sh
4:00
0 4 * * 6 /home/soso.sh
4:05
5 4 * * 6 /home/soso.sh
5:00
0 5 * * 6 /home/soso.sh
9:30
30 9 * * 1-5 /home/soso.sh
8:00, 9:00
0 8,9 * * 1-5 /home/soso.sh
23:59
59 23 * * 6 /home/soso.sh
0:30
30 0 * * * /home/soso.sh
[root@linux-server ~]# crontab -l #
인스턴스
00 00 * * * /home/soso.sh #
00 02 * * * ls # 2:00
00 02 1 * * ls # 1 2:00
00 02 14 2 * ls # 2 14 2:00
00 02 * * 7 ls # 2:00
00 02 * 6 5 ls # 6 2:00
00 02 * * * ls # 2:00
*/5 * * * * ls # 5
00 02 1,5,8 * * ls # 1,5,8 2:00
00 02 1-8 * * ls # 1 8 2:00
다른 사용자를 사용하여 만들기
[root@biudefor ~]# crontab -u jack -e # jack
[root@biudefor ~]# crontab -u jack -l # jack
[root@biudefor ~]# crontab -r #
[root@biudefor ~]# crontab -u jack -r # jack
:
:
/etc/cron.deny
:
crontab
:
/etc/cron.allow
:
crontab
/etc/crontab
로그 회전
2. 로그 시스템 rsyslog
로그 관리 기본 사항
rsyslog
logrotate
** 1. 로그를 처리하는 프로세스**
rsyslogd: , , , sshd,su, at,cron...
httpd/nginx/mysql:
[root@biudefor ~]# ps aux |grep rsyslogd
root 752 0.0 0.2 216440 5548 ? Ssl 20:18 0:00 /usr/sbin/rsyslogd -n
:
/etc/rsyslog.conf
2. 일반적인 로그 파일(시스템, 프로세스, 응용 프로그램)
#tail -f /var/log/messages # ,
#tail -f /var/log/secure # 、
tail /var/log/maillog # postfix
tail /var/log/cron #crond、at
tail /var/log/dmesg #
tail /var/log/yum.log #yum
tail -f /var/log/mysqld.log #MySQL
tail /var/log/xferlog # FTP
/var/log/boot.log #
[root@biudefor ~]# w # /var/log/wtmp
[root@biudefor ~]# last # /var/log/btmp
[root@biudefor ~]# lastlog # /var/log/lastlog
3. logrotate 로그 회전
?
: (rsyslog 、Nginx ...)
、logrotate ( , )
1. ,
2. ,
3. logrotate , crond
logrotate :
:/etc/logrotate.conf ( )
[root@biudefor ~]# vim /etc/logrotate.conf
weekly # ,
rotate 4 # 4
create #
dateext #
#compress # ,
include /etc/logrotate.d # ,
/var/log/wtmp { #
monthly #
minsize 1M # 1M ,
create 0664 root utmp # ,
rotate 1 #
}
/var/log/btmp {
missingok #
monthly
create 0600 root utmp
rotate 1
}
실전 사례
1: /var/log/yum.log
[root@biudefor ~]# vim /etc/logrotate.d/yum
/var/log/yum.log {
missingok #
#notifempty #
#size 30k # 30k
#yearly
daily #
rotate 3
create 0777 root root
}
:
[root@biudefor ~]# /usr/sbin/logrotate /etc/logrotate.conf #
[root@biudefor ~]# /usr/sbin/logrotate -f /etc/logrotate.conf #
[root@biudefor ~]# ls /var/log/yum*
/var/log/yum.log /var/log/yum.log-20191110
[root@biudefor ~]# grep yum /var/lib/logrotate/logrotate.status #
"/var/log/yum.log" 2019-11-10-21:26:14
테스트
1. , , ?
#
2. 8 , ??
# 0 8 * * 7 /usr/sbin/reboot
3. , :
(1). 4:50 /abc ;
# 50 16 * * * /usr/bin/rm -rf /abc/*
(2). 5:50 /data backup.tar.gz;
# 50 17 * * 1 /usr/bin/tar -czf back.tar.gz /data/*
(3). 8:00 crontab。
# systemctl enable crond.service
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.