♣ 도움받은 사이트
https://wiki.archlinux.org/title/Systemd/Timers
특정 시간에 뭔가를 실행하기 위해 타이머를 설정하는 방법을 다룬다.
나같은 경우, 서버의 DB 를 백업하는 용도로 사용하였다.
cron 이나 systemd 를 사용하는 방법이 있는데 요새 추세가 systemd 를 사용하는 듯 하다.
/etc/systemd/system 밑에 두개의 파일을 생성하고 아래처럼 작성한다.
(파일명 및 내용은 본인 환경에 맞게 적절히 수정하여 사용한다.)
♣ 1. mdb_backup.service
$ cd /etc/systemd/system
$ sudo vi mdb_backup.service
[Unit]
Description=Run MariaDB Backup
[Service]
Type=oneshot
ExecStart=/bin/bash /home/hahaite/MDB_Backup/backup.sh
타이머가 발동(?) 되면 /home/hahaite/MDB_Backup 밑에 backup.sh 스크립트를 실행한다.
실행할 프로그램 등을 위 스크립트에 작성하여 실행한다.
♣ 2. mdb_backup.timer
$ cd /etc/systemd/system
$ sudo vi mdb_backup.timer
[Unit]
Description=MariaDB Backup
[Timer]
OnCalendar=*-*-* 11:00
OnCalendar=*-*-* 13:00
OnCalendar=*-*-* 15:30
OnCalendar=*-*-* 18:00
OnCalendar=*-*-* 20:10
Unit=mdb_backup.service
[Install]
WantedBy=timers.target
매일 5번, mdb_backup.service (위에 작성한 것) 를 실행한다.
(구글링하면 수많은 예제가 있는데 위 코드가 직관적이여서 선호하는 방식이다.)
♣ 서비스 등록
Linux 시작 시, 자동 시작되도록 서비스를 등록한다.
$ sudo systemctl enable mdb_backup.timer
♣ 바로 타이머 시작
지금 바로 타이머를 시작한다.
$ sudo systemctl start mdb_backup.timer
♣ 현재 등록된 타이머 확인
타이머가 정상적으로 등록 및 시작되면 아래 명령어로 확인할 수 있다.
$ sudo systemctl list-timers
♣ 타이머 재등록 (re-load)
위 두 파일을 수정한 경우, 아래 명령어로 리로드(Reload) 한다.
$ sudo systemctl daemon-reload
'삽질미학 > Linux' 카테고리의 다른 글
VS Code 에서 Linux에 원격접속하여 컴파일하기 (0) | 2024.03.08 |
---|---|
Docker Redmine 설치 및 외부 MariaDB와의 연동 (0) | 2024.01.24 |
VirtualBox IP 설정 - NAT, 호스트 전용 어댑터 조합 (4) | 2024.01.23 |
Ubuntu Server에 LUKS 적용하기 (0) | 2023.10.17 |
Ubuntu Server에 HPE SSA 설치하기 (0) | 2021.11.06 |