11.Nas_1


새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


termux ubunto crontab 설치 및 [Ubuntu]Cron 그리고 Crontab (스케줄링)

♨ 카랜더 일정 :
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    termux  ubunto crontab 설치

     apt-get install cron

    service cron start
    --------
     service
    Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]
    root@localhost:~# service cron start
     * Starting periodic command scheduler cron                              [ OK ]
    root@localhost:~# service --status-all
     [ - ]  apache-htcacheclean
     [ - ]  apache2
     [ - ]  apparmor
     [ ? ]  binfmt-support
     [ + ]  cron
     [ - ]  dbus
     [ ? ]  hwclock.sh
     [ - ]  procps
     [ + ]  sjva2
     [ + ]  tvheadend
     [ - ]  udev
     [ - ]  x11-common
    root@localhost:~#

    crontab -e
    3232235521_1593835171.5231.png
    동작 확인
    -----
    termux   초기 부팅 동작 파일
    3232235521_1593836263.1212.png

    termux_home]localhost]  ]cat .bash_profile
    termux-wake-lock
    sshd
    ~/termux-ubuntu/start-ubuntu.sh
    termux_home]localhost]  ]

    또 하나 복사 1.sh
    termux_home]localhost]  ]cat 1.sh
    termux-wake-lock
    sshd
    ~/termux-ubuntu/start-ubuntu.sh
    termux_home]localhost]  ]
    ------------
    ubuntu 진입
    sh 1.sh
    3232235521_1593836490.9241.png


    root@localhost:~# cat 1.sh
    echo ""
    echo "Welcome to Termux Ubuntu!"
    echo "e.g) SJVA manual instruction"
    echo "     service sjva2 start"
    echo "     service sjva2 stop"
    echo "     service sjva2 restart"
    echo "     service sjva2 status"
    echo ""
    echo "Run SJVA with background..."
    #sleep 1
    service sjva2 start
    service tvheadend start
    service apache2 start
    service cron start
    echo ""
    service --status-all

    종료 파일
    sh 2.sh
    exit
    root@localhost:~# cat 2.sh
    echo ""
    echo "Welcome to Termux Ubuntu!"
    echo "e.g) SJVA manual instruction"
    echo "     service sjva2 start"
    echo "     service sjva2 stop"
    echo "     service sjva2 restart"
    echo "     service sjva2 status"
    echo ""
    echo "Run SJVA with background..."
    #sleep 1
    service sjva2 stop
    service tvheadend stop
    service apache2 stop
    service cron stop
    echo ""
    service --status-all

    root@localhost:~#
    exit
    3232235521_1593836646.374.png


    3232235521_1593835569.1838.png

    3232235521_1593836741.3999.png
    ----------------

    데비안 /etc/crontab 파일에 수정 crontab 작성예

    nano /etc/crontab

    -----------

    내용입력

    ===========

    00 6 * * * root reboot

    -----
    저장 ctrl + o

    나가기 ctrl +x
    ===========

    시작

    systemctl restart cron 

    참조 자료

    =========

    [Ubuntu]Cron 그리고 Crontab (스케줄링)

    출처: https://lunightstory.tistory.com/8 [생각정리..]

    https://lunightstory.tistory.com/8

    1. Cron & crontab


    cron은 소프트웨어 데몬으로 유닉스 계열에서 시간 기반 작업 스케줄로 소프트웨어 환경을 설정 및 관리하고 관리자가 원하는 시간, 날짜에 주기적으로 실행할 수 있도록 해준다.


    cron은 셸 명령어들이 주어진 스케줄에 실행하도록 규정해 놓은 crontab이라는 파일(cron table)에 의해 구동된다. 


    crontab은 작업 목록 및 cron 데몬에 대한 명령어들이 보관된 위치에 저장되어 있다. 


    리눅스 User는 자신만의 개개의 crontab 파일을 가질 수 있다.


    999AEC4A5A98F2200B


    < cron 운영 스케줄 >


    cron은 시작할 때 모든 곳에 저장된 설정파일들을 읽어 메모리에 저장해두고 대기모드로 들어갔다가 매 분마다 할성화되 변경된 crontab 파일들이 있는지 체크하고 변경된 경우 다시 메모리에 저장하고 실행작업이 있는지 확인한 후에 다시 대기모드로 들어간다.


     

     # ┌───────────── min (0 - 59)
     # │ ┌────────────── hour (0 - 23)
     # │ │ ┌─────────────── day of month (1 - 31)
     # │ │ │ ┌──────────────── month (1 - 12)
     # │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
     # │ │ │ │ │
     # │ │ │ │ │
     # * * * * *  command to execute

    < crontab 스케줄 구조 >


    2. Cron 파일 


     cronid(패키지) = crond(데몬) + crontab(cron table)


    cron이 참조하는 crontab 파일 위치 

    • /var/spool/cron
      시스템 개별 사용자를 위한 crontab 파일 위치이며 일반적으로 root 계정용 하나와 계정 사용자당 1개의 파일을 갖게된다.
      파일명은 사용자의 계정명이며 cron은 이이름을 바탕으로 설정 파일에 지정된 작업을 실행시 사용할 UID를 결정한다. 이 곳에 있는 설정파일들은 crontab 명령어으로 관리하게 된다.

      998BDD445A98F4411A

    • /etc/cron.d
      소프트웨어 패키지를 설치할 때 필요한 주기적 작업을 등록하는 공간으로 사용.

    • /etc/crontab
      관리자가 직접 지정한 작업을 설정하며 , 임의의 사용자 권한으로 실행할 수 있다. 시스템 관련 작업을 등록하는 곳이다. 

    • /etc/cron.allow
      파일 내 지정된 사용자만 crontab을 등록할 수 있다. 지정하지 않은 사용자는 crontab 명령을 실행할 수 없다. 

    • /etc/cron.deny
      허용파일이 없는 경우에는 이 deny 파일을 사용. 이 파일을 제외한 나머지 사용자에게 crontab 명령 실행 권한이 주어진다. 

      두 파일이 없는경우 root 관리자만 허용된다. 단 데비안, 우분투 배포판은 모든 사용자에게 실행권한을 준다. 


    • 그외..

      99D4B1385A98EB1D08

      cron.hourly : 시간
      cron.daily : 일별
      cron.weekly : 주별
      cron.monthly : 월별

      해당 디렉토리 아래 cron 작업파일들을 실행하도록 설정되어 있다.

    3. crontab 명령어 

    # 작업리스트

    # crontab -l

    # 작업수정

    # crontab -e

    # 작업삭제

    # crontab -r

    # 루트관리자용 

    해당 사용자의 crontab 파일을 보거나 삭제 , 편집가능

    # crontab -u <사용자명> 


    # 루트권한이 필요한 주요 스케줄 등록 

    시스템 백업 , 로그관리를 위한 처리는 /etc/crontab을 수정한다.

    예제 : 


    #crontab -e

    # 월~금요일 매월 매일 10시 5분과 45분에 루트권한으로 시간동기화 명령어를 실행한다. 

        45,5 10 * * 1-5 root /usr/bin/rdate -s time.bora.net && clock -w

    • * : 범위 내 모든 경우

    • 숫자 : 정확히 일치하는 그 시각, 날짜

    • '-' 기호로 연결된 두 숫자 : 두 숫자 사이에 포함된 범위를 뜻함

    • 콤마(,)로 구분돼 나열된 숫자 : 나열된 숫자 중 일치하는 경우를 뜻함


    4.cron log

    우분투 시스템에서는 기본적으로 cron 로그기록이 비활성화 되어 cron.log가 syslog에 통합된다.(/var/log/syslog)
    단독으로 cron.log를 활성화하고 싶은 경우에는 "etc/rsyslog.d/50-default.conf"파일에 접근하여 cron 로그를 황성화시켜주면 된다. 

    99423E4A5A99077D26


    syslog 재시작


    # sudo service rsyslog restart


    5. 실습 


    사용자 계정으로 # crontab -e로 수정하는 경우 cron이 정상적으로 동작되지 않았다. 그래서 직접 /etc/crontab에 추가하고 그 결과를 살펴보았다. 


    이유는 아무래도 경로와 명령어가 root권한이 없이 시작되는 것 같아서 직접 해당 경로에 작성하고 cron을 재시작 해주었다.


    실습 명령은 앞에서 사용중인 gitlab을 마운트한 백업 하드디스크에 매 10분때 백업을 하도록 설정하였다. 


    999F254C5A9914CA17

     



    2018/03/05 리포트 



    gitlab-ctl reconfigure를 할 때 자동으로 generate되는 파일이다. 


    # /var/opt/gitlab/gitlab-rails/etc/gitlab.yml 


    때문에 원래 default 백업경로(/var/opt/gitlab/backups)에 신나게 백업되고 있었다...ㅠㅠ

    99EDE0365A9CAB3404


    그래서 /var/opt/gitlab/gitlab-rails/etc/gitlab.yml을 다시 수정하고 확인해보니 정상적으로 백업되었다.


    그리고 cron을 설정할때 사용자 계정으로 crontab -e를 통해 수정하지말고 직접 sudo /etc/crontab을 수정해서 사용하자 


    99AADB415A9CAB5B1A



    어차피 중요 시스템 백업 , 검사를 주기적으로 할거니까..^^



    출처: https://lunightstory.tistory.com/8 [생각정리..]

    ■ ▶ ☞ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다 ♠ . ☞ 본자료는 https://11q.kr 에 등록 된 자료 입니다♠.

    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    등록된 댓글이 없습니다.


    새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


    • 일간 조회수
        • 게시물이 없습니다.
    • 주간 조회수
        • 게시물이 없습니다.
    • 월간 조회수
        • 게시물이 없습니다.


    Total 1,766 / 1 Page
    [ ● web page 공유폴더 구성하여 web site 만들기 ]

    ● web page 공유폴더 구성하여 web site 만들기구성 조건도메인 별도 구성1)기존사용 도메인 : 11q.kr2) 추가도메인 구입 :1…

    [ ● ha작업) 멀티 도메인 적용 https://ha.ddns 를 시놀로지에 기본 인증서 적용하고 duckdn… ]

    ● ha작업)멀티 도메인 적용 https://ha.ddns 를 시놀로지에 기본 인증서 적용하고 duckdns.org 및 npm 설치 필요 없네요…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-11-22 17:26:28

    오늘의 홈 현황


    • 현재 접속자♨ 568 명
    • 오늘 가입자※ 1 명
    • 어제 가입자※ 3 명
    • 주간 가입자※ 9 명
    • 오늘 방문자 2,545 명
    • 어제 방문자 3,272 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,801,701 명
    • 전체 게시물※ 8,855 개
    • 전체 댓글수※ 25,230 개
    • 전체 회원수 11,325 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑