10.23 linux 작업 계획 cron 10.24 chkconfig 도구 10.25 시스템

10.23 linux 작업 계획cron
crontab 명령은 사용자의 주기적으로 실행되는 작업을 제출하고 관리하는 데 사용됩니다. 윈도우즈의 계획 작업과 유사합니다. 설치가 완료되면 기본적으로 이 서비스 도구를 설치하고 crond를 자동으로 시작합니다. crond 프로세스는 매 분마다 실행 중인 작업이 있는지 정기적으로 확인하고 실행할 작업이 있으면 자동으로 실행합니다.
문법:crontab[options]
Options:
-e:=edit 사용자의 타이머 설정 편집
-l:=list 사용자의 타이머 설정 나열
-r:=remove 사용자의 타이머 설정 삭제
- u:=user 타이머 설정 사용자 지정
예약된 작업 구성
crontab 구성 파일:/etc/crontab
[root@aminglinux-123 ~]#  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

예약된 작업 설정
[root@aminglinux-123 ~]#  crontab -e
no crontab for root - using an empty one
0 3 * /bin/bash /user/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log

0 3 1-10 */2 2,5 /bin/bash /user/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log

해결:
첫 번째 명령:
매일 새벽 3시(*위치에 숫자를 지정하지 않으면 매일, 월, 주), 현재 사용자(사용자를 지정하지 않음) 명령(123.sh 미리 작성된 명령 스크립트), 정확한 로그와 오류 로그를/tmp/123.log 파일에서
제2조 명령:
짝수개월(*/2: 2로 나누어짐) 1일부터 10일 화요일과 금요일 새벽 3시까지 현재 사용자(사용자를 지정하지 않음, 기본적으로 현재 사용자)는 명령(123.sh가 미리 작성한 명령 스크립트)을 실행하고 정확한 로그와 오류 로그를/tmp/123.log 파일에서
crond 서비스 시작/서비스 상태 보기
구성이 완료되면 crond 서비스를 시작해야 합니다.
서비스 시작:
방법 1:
[root@aminglinux-123 ~]# systemctl status crond.service
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since   2018-07-10 08:55:54 CST; 1 weeks 0 days ago
 Main PID: 1022 (crond)
    Tasks: 1
   CGroup: /system.slice/crond.service
           └─1022 /usr/sbin/crond -n

7  10 08:55:54 bogon systemd[1]: Started Command Scheduler.
7  10 08:55:54 bogon systemd[1]: Starting Command Scheduler...
7  10 08:55:55 bogon crond[1022]: (CRON) INFO (RANDOM_DELAY will be scale....)
7  10 08:55:55 bogon crond[1022]: (CRON) INFO (running with inotify support)
Hint: Some lines were ellipsized, use -l to show in full.

방법2:
[root@aminglinux-123 ~]# ps aux |grep crond
root       1022  0.0  0.1 126280  1620 ?        Ss   7 15   0:00 /usr/sbin/crond -n
root      28913  0.0  0.0 112720   984 pts/0    S+   11:30   0:00 grep --color=auto crond

crond 서비스를 중지하려면 다음과 같이 하십시오.
[root@aminglinux-123 ~]# systemctl stop crond.service

주의: 설정 파일이나 셸 스크립트를 작성할 때 모든 명령은 절대 경로를 사용해야 합니다.계획된 작업마다 로그를 추가합니다.
기존 예약된 작업 보기
[root@aminglinux-123 ~]# crontab -l
no crontab for root

예약 작업 저장 위치:/var/spool/cron/, 모든 예약 작업은 이 디렉터리에 있는 사용자 이름의 파일에 저장되며, 백업할 때 이 파일을 사용할 수 있습니다.
예약된 작업 삭제
[root@aminglinux-123 ~]# crontab -r
no crontab for root

주: 위의 모든 조작은 사용자를 지정하기 위해 - u 옵션을 추가할 수 있습니다.
10.24 chkconfig 도구
chkconfig 명령은 시스템의 각종 서비스를 검사하고 설정합니다.이것은 Red Hat회사가 GPL 규칙에 따라 개발한 프로그램으로 운영체제가 모든 실행 등급에서 어떤 시스템 서비스를 실행하는지 조회할 수 있으며 각종 상주 서비스를 포함한다.chkconfig는 서비스를 즉시 자동으로 금지하거나 활성화하는 것이 아니라 기호 연결을 간단하게 바꾸는 것입니다. (이 명령은centos6 및 이전 버전에 많이 사용됩니다.)
문법:chkconfig[options]
--list:chkconfig 명령을 사용하는 서비스의 상태 보기
--add: 지정 서비스 추가
--del: 지정된 서비스 삭제
--level: 어떤 시스템 서비스가 시스템의 어떤 운행 단계에서 켜지거나 꺼지는지 지정합니다.
적용:
chkconfig --list 현재 시스템 서비스 상태 보기
[root@aminglinux-123 ~]# chkconfig --list

 :         SysV   ,    
   systemd   。SysV     
      systemd     。

          systemd   ,    'systemctl list-unit-files'。
            target         
      'systemctl list-dependencies [target]'。

netconsole      0:     1:     2:     3:     4:     5:     6: 
network         0:     1:     2:     3:     4:     5:     6: 

서비스 위치:/etc/init.d/
[root@aminglinux-123 ~]# ls /etc/init.d/
functions  netconsole  network  README

서비스 상태 변경
서비스의 모든 상태 변경:
[root@aminglinux-123 ~]# chkconfig network off/on
chkconfig    1.7.4 -    (C) 1997-2000 Red Hat, Inc.
  GNU        ,           。

  :chkconfig [--list] [--type ] [name]
         chkconfig --add 
         chkconfig --del 
         chkconfig --override 
         chkconfig [--level ] [--type  

기능 서비스의 실행 수준 상태:
[root@aminglinux-123 ~]# chkconfig --level 345 network off/on

실행 단계 설정 파일: "/etc/inittab",centos7에서 이 파일을 사용하지 않습니다.
서비스 추가/제거
우선, 서비스를 추가하기 전에 이 서버를 '/etc/init.d/' 디렉터리에 놓고 실행 권한을 추가해야 합니다.그런 다음 명령을 실행합니다.
[root@aminglinux-123 ~]# ls /etc/init.d/
functions  netconsole  network  READM

추가/제거:
[root@aminglinux-123 ~]# chkconfig --add /etc/init.d/123
[root@aminglinux-123 ~]# chkconfig --list

 :         SysV   ,    
   systemd   。SysV     
      systemd     。

          systemd   ,    'systemctl list-unit-files'。
            target         
      'systemctl list-dependencies [target]'。

netconsole      0:     1:     2:     3:     4:     5:     6: 
network         0:     1:     2:     3:     4:     5:     6: 
[root@aminglinux-123 ~]# chkconfig --del /etc/init.d/123

10.25 시스템 관리 서비스
시스템ctl 명령은 시스템 서비스 관리자 명령으로 서비스와chkconfig 두 명령을 실제적으로 조합합니다.
시스템ctl 명령
[root@aminglinux-123 ~]# systemctl disable crond
Removed symlink /etc/systemd/system/multi-user.target.wants/crond.service.
[root@aminglinux-123 ~]#  systemctl enable crond
Created symlink from /etc/systemd/system/multi-user.target.wants/crond.service to /usr/lib/systemd/system/crond.service.

설명: 서비스의 켜기/끄기와 함께 이 서비스에 대한 소프트 링크를 만들거나 삭제합니다. "/etc/systemd/system/multi-user.target.wants/crond.service"-->"/usr/lib/systemd/systeem/crond.service"
확장: 시스템 서비스 사용자 정의 추가
선택 대상:http://www.jb51.net/article/100457.htm
사용자 정의 전원 켜기 시작 방법을 설정하려면:
4
  • 서비스 권한 4
  • 시스템과 사용자 구분이 있습니다: 시스템 (/user/lib/systemd/system/), 사용자 (/etc/lib/systemd/user/).일반 시스템 관리자가 수동으로 만든 단위 파일은/etc/systemd/system/디렉터리 아래에 저장하는 것을 권장합니다.
    2. 서비스 파일 만들기
    [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target
    [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -c/etc/nginx/nginx.conf ExecStart=/usr/sbin/nginx -c/etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true
    [Install] WantedBy=multi-user.target [Unit]
    Description: 서비스에 대한 간단한 설명
    Documentation:서비스 문서
    Before, After: 시작 순서를 정의합니다.Before=xxx.서비스, 본 서비스가 xxx에 있음을 나타냅니다.서비스가 시작되기 전에 시작합니다.After=xxx.서비스서비스가 시작되면
    Requires: 이 단원이 시작되면 필요한 단원도 시작됩니다.그것이 필요로 하는 단원은 정지되었고, 이 단원도 정지되었다.
    Wants: 권장합니다.이 단원이 시작되면 필요한 단원도 시작됩니다.그것이 필요로 하는 단원도 정지되어 본 단원에 영향을 주지 않는다.
    [Service]
    Type=simple(기본값): 시스템은 이 서비스가 즉시 시작될 것이라고 생각합니다.서비스 프로세스가 fork되지 않습니다.이 서비스가 socket 활성화형이 아닌 다른 서비스를 시작하려면 이 형식으로 시작하지 마십시오.
    Type=forking: 시스템은 이 서비스 프로세스가 fork이고 부모 프로세스가 종료된 후에 서비스가 성공적으로 시작되었다고 생각합니다.일반적인 데몬 (daemon) 은 이 시작 방식이 수요를 충족시키지 못할 것이라고 확신하지 않으면 이 형식으로 시작하면 됩니다.이 시작 유형을 사용하면 시스템이 서비스의 주 프로세스를 추적할 수 있도록 PIDFile=을 동시에 지정해야 합니다.
    Type=oneshot: 이 항목은 한 가지 작업만 수행하고 바로 종료하는 서비스에 적용됩니다.이 가능하다, ~할 수 있다,...
    RrmainAfterExit=yes 를 사용하면 시스템이 서비스 프로세스를 종료한 후에도 서비스가 활성화된 것으로 간주됩니다.
    Type=notify:Type=simeple과 같지만 서비스가 완료된 후에 시스템드에 신호를 보낼 것을 약속합니다.이 통지의 실현은libssytemd-daemon에 의해 이루어진다.so 제공.
    Type=dbus: 이 방식으로 시작하면 지정한 BusName이 DBus 시스템 버스에 나타날 때 시스템은 서비스가 완료되었다고 생각합니다.
    Type=idle: systemd는 모든 작업(Jobs) 처리가 끝난 후에야 idle 형식의 단원을 실행합니다.이외에 다른 동작은 Type=단순과 유사하다.
    PIDFile:pid 파일 경로
    ExecStart: 시작 단원의 명령이나 스크립트를 지정하고, ExecStart Pre와 ExecStart Post 섹션은 ExecStart 이전 또는 이후에 사용자가 스스로 실행하는 스크립트를 지정합니다.Type=oneshot에서는 순서대로 실행할 사용자 정의 명령을 여러 개 지정할 수 있습니다.
    ExecReload: 셀이 중지될 때 실행되는 명령 또는 스크립트를 지정합니다.
    ExecStop: 셀이 중지될 때 실행되는 명령 또는 스크립트를 지정합니다.
    PrivateTmp: True는 서비스에 독립된 임시 공간을 할당함을 나타냅니다.
    Restart: 이 옵션이 허용되면 서비스가 다시 시작될 때 프로세스가 종료되고 시스템ctl 명령을 통해 지우고 다시 시작하는 작업을 수행합니다.
    Remain After Exit: 이 선택을 진실로 설정하면 서비스가 활성화 상태로 간주됩니다. 프로세스가 종료되었음에도 불구하고 기본값은 가짜입니다. 이 옵션은 Type=oneshot에서만 설정됩니다.
    [Install]
    Alias: 단원에 공간 분리의 추가 이름을 제공합니다.
    RequiredBy: 단원은 일련의 의존 단원을 실행할 수 있습니다. RequiredBy 목록은 Require에서 의존 정보를 얻을 수 있습니다.
    WantBy: 단원은 실행에 필요한 약한 의존성 단원을 허용합니다. Wantby는 Want 목록에서 의존 정보를 얻습니다.
    Also: 장치와 함께 설치되거나 지원되는 장치를 나타냅니다.
    DefaultInstance: 단원이 기본 실례를 실행할 수 있도록 지정하는 실례 단원의 제한입니다.
    3. 무거운 짐을 싣는 서비스
    systemctl enable nginx.service
    /etc/systemd/system/multi-user.target.wants/디렉터리에 새/usr/lib/systemd/system/nginx를 만듭니다.서비스 파일에 대한 링크입니다.
    4. 운영 서비스
    # 서비스 시작 $sudo systemctl start nginx.service
    # 로그 보기$sudo journalctl -f -u nginx.서비스 - Logs begin at 4 2015-06-25 17:32:20 CST. -6월 25일 10:28:24 레코.lan systemd[1]: Starting nginx – high performance 웹 서버...6월 25 10:28:24 Leco.lan nginx[7976]: nginx: the configuration file/etc/nginx/nginx.conf syntax is ok 6월 25 10:28:24 Leco.lan nginx[7976]: nginx: configuration file/etc/nginx/nginx.conf test is successful 6월 25 10: 28: 24 Leco.lan systemd[1]: Started nginx – high performance web server.# $sudo systemctl restart nginx를 다시 시작합니다.서비스 # $sudo systemctl reload nginx를 다시 로드합니다.서비스 # $sudo systemctl stop nginx를 중지합니다.service10.소개
    디렉토리:/usr/lib/systemd/system/
    파일 형식
    mark
    관련 명령
    mark
    10.27 target 소개
    시스템은 관리를 편리하게 하기 위해 target을 사용하여 unit를 관리합니다.
    관련 작업:
    mark
    target, 서비스, unit 관계
    하나의 서비스는 하나의 유형의 unit에 속하며, 여러 개의 unit가 하나의 target을 구성하고, 하나의 target은 여러 개의 서비스를 포함한다.
    서비스가 속한 target을 보려면 다음과 같이 하십시오.
    [root@adai003 system]# cat/usr/lib/systemd/system/sshd.서비스 Install 섹션 보기!

    좋은 웹페이지 즐겨찾기