본문 바로가기

Skills/mY Technutz

Mac 에서 launchctl 을 이용하여 특정 명령을 지정된 시간에 자동수행 시켜보자

회사 자동로그인 시스템을 회사 내부 워킹데스크탑에서 파이떤을 이용해 돌리는데,

보안을 위한 APM 을 사용하므로, 부팅시 꼭 직접 오프라인으로 비밀번호를 넣어줘야 부팅이되어

전원문제나 윈도우즈 업그레이드 문제 등으로 리부팅이 되면,

OS 영역으로 넘어가지를 못해서 모든 나의 "사무실에 출근한척 하기"

프로젝트와 연관된 자동화 프로그램들이 먹통이 되버리는 문제가 있었다...

특히 최근 코로나-19 로 인해 회사를 장기간 못가는 상황에서,

종종 맥북으로 cronjob 을 임시로 돌리는데

자꾸 안돌아가버리는 바람에 찾아보니.. cronjob 은 legacy/deprectated 된거나 마찬가지라

launchdlaunchctl 을 이용하라고 하는것이였다...

그래서 간략하게 plist 를 작성하고 등록하는 것에 대해서 기록해 본다.

WorkingDirectory 를 설정 안해서, 내부적으로 돌아가는 모듈화된 스크립트들이

자꾸 에러나서 한동안 삽질좀 했다는...

여러가지 동작을 하는 작업을 만들고 싶다면,

아래 애플 개발자매뉴얼을 참조하면 응용하기에 쓸만하다.

Launchd 가이드에는 사용가능한 Keyword reference 및 Cookbook 이 제공되어 유용!!

Daemons and Services Programming Guide

Launchd Guide and Cookbook

근데 사실 이거 다 필요없이 앱스토어에서 그냥 launch 로 검색하면

GUI 로 된 다양한 Launchd 관련 도구들이 많다...

즉, 난 개삽질 ㅋㅋㅋㅋㅋ

끝.