안녕하세요. 주식회사 서버몬 입니다.
오늘은 systemd 서비스를 등록하고 timer 예약 도구를 사용하여 자동 실행 방법을 알아보겠습니다.
Systemd는 리눅스 배포판에서 기본적으로 사용되는 초기화 시스템(Init System)으로,
서비스와 프로세스의 시작·중지·모니터링 등을 통합적으로 관리하는 핵심 구성요소입니다.
systemd 서비스 파일 구조
systemd 서비스는 일반적으로 .service 파일로 정의되며,
이 파일에는 서비스가 어떻게 실행될지에 대한 정보를 포함합니다.
.service 파일의 기본 구조
[Unit]
Description=서비스 설명
After=네트워크가 준비된 후 실행되는 서비스
[Service]
ExecStart=실행할 명령어
ExecStop=서비스 중지시 실행할 명령어 (선택)
WorkingDirectory=서비스가 실행될 디렉토리 (선택)
User=실행할 사용자 (선택)
Group=실행할 그룹 (선택)
Restart=서비스 실패시 재시작 정책 (예: always, on-failure 등)
[Install]
WantedBy=multi-user.target
주요 섹션
- [Unit]: 서비스의 기본 설명과 의존성 설정 (예: 다른 서비스가 시작된 후 실행 등)
- [Service]: 실제 서비스 실행에 필요한 명령어 및 설정 (ExecStart로 서비스 실행)
- [Install]: 서비스의 설치 설정 (예: 특정 런레벨에 서비스를 연결)
(multi-user.target은 service가 실행 될때 자동으로 실행되도록 심볼릭 링크가 생성됩니다.)
서비스 등록
예시로 백업 스크립트 작성 및 서비스 등록
1. 백업 스크립트 작성 (경로 : /home/dira/backup.sh)
# vim /home/dira/backup.sh
#!/bin/bash
# 예시: /root/mysql을 /backup으로 백업
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p /backup
tar -czf /backup/data_backup_$TIMESTAMP.tar.gz /root/mysql
echo "[backup] 완료: $TIMESTAMP" >> /var/log/custom-backup.log
2. 서비스 파일 생성
(서비스 파일은 /etc/systemd/system/ 경로에 생성해야 systemd가 인식합니다.)
(파일 내용은 위에 설명드린 구조를 바탕으로 작성해주시면 됩니다.)
# vim /etc/systemd/system/backup.service
[Unit]
Description=Custom Backup Service
After=network.target
#network.target 이후에 서비스가 실행되도록 설정
[Service]
ExecStart=/bin/bash /home/dira/backup.sh
#서비스가 시작될 때 실행할 명령어입니다
WorkingDirectory=/home/dira
#스크립트가 실행될 디렉토리입니다.
User=root
Group=root
#서비스를 실행할 사용자와 그룹을 지정합니다.
Restart=on-failure
#on-failure는 서비스가 실패했을 때 재시작하도록 설정합니다
Environment=PATH=/usr/bin:/usr/local/bin
[Install]
WantedBy=multi-user.target
3. 서비스 파일 권한 변경 및 활성화
chmod 644 /etc/systemd/system/backup.service
#권한 부여
systemctl daemon-reload
#시스템 인식시키기 위한 리로드
sudo systemctl enable backup.service
#서비스 활성화 (부팅 시 자동 실행)
sudo systemctl start backup.service
#서비스 시작
sudo systemctl status backup.service
#서비스 상태 확인
권한 변경, 리로드
서비스 활성화
서비스 시작 및 상태 확인
systemd timer 구조
systemd timer는 리눅스에서 정해진 시간이나 주기마다 서비스를 실행할 수 있도록 도와주는 기능입니다.
( .timer 유닛은 지정한 시간 조건에 따라 .service 유닛을 자동으로 실행하는 예약 도구입니다.)
파일명 예시 용도
backup.service | 실행할 실제 작업(백업, 정리 등) |
backup.timer | 실행 주기 또는 시간 예약 정보 설정 |
파일 내용 예시
[Unit]
Description=Run My Job Every Day at 2AM
#서비스 설명
[Timer]
OnCalendar=*-*-* 02:00:00
#매일 02:00에 실행
Persistent=true
#시스템이 꺼져 있어도, 다음 부팅 시 실행
[Install]
WantedBy=timers.target
OnCalendar 표현 방식
*-*-* 02:00:00 | 매일 02시 |
Mon *-*-* 08:00:00 | 매주 월요일 08시 |
2025-05-20 10:00:00 | 특정 날짜/시간 |
hourly, daily, weekly | 예약된 키워드 사용 가능 |
systemd timer 설정 및 구성
timer 파일 생성 (service 파일과 동일한 경로 : /etc/systemd/system )
# vim /etc/systemd/system/backup.timer
[Unit]
Description=Run backup script hourly
# 백업 스크립트를 매시간 실행 설명
[Timer]
OnCalendar=hourly
# 매 정각마다 실행
# OnCalendar=YYYY-MM-DD HH:MM:SS
Persistent=true
# 시스템이 꺼져 있었던 경우, 부팅 후 작업 즉시 실행
[Install]
WantedBy=timers.target
데몬 리로드 및 타이머 활성화
systemctl daemon-reload
# 데몬 리로드
systemctl enable --now backup.timer
# 타이머 활성화
systemctl list-timers --all
# 타이머 상태 확인
정상적으로 타이머 상태 확인
설정한 타이머가 정상 실행되는지 백업 확인
감사합니다.
1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트
'설치 및 기술 자료 > Linux' 카테고리의 다른 글
[Linux] HAProxy를 통한 HA 기본 동작 알아보기 (0) | 2025.05.15 |
---|---|
[Linux] SSH 버전 업그레이드: 보안을 지키는 가장 확실한 방법 (0) | 2025.05.12 |
[Linux] Docker Scout 기반 이미지 보안 진단 (0) | 2025.04.25 |
[Linux] Wazuh 설치 및 agent 연동 (0) | 2025.04.24 |
[Linux] Rocky 9.5 - VNC서버 설치 및 원격 연결 (0) | 2025.04.10 |
댓글