Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12

특정 사용자로 cron 실행하기

cron으로 파일을 만드는 일을 해야 한다면, 특정 사용자로 접근해야 하는 경우가 있다. 사용자를 지정하는 /etc/crontab을 이용한다.

cron으로 돌리고 있는 명령어가 www-data 소유 폴더에 리사이즈 이미지를 만들어야 했다. cron은 일반 사용자가 돌리고, 폴더 권한은 755(소유자만 쓰기 가능)였기 때문에 파일 만들기에 실패했다.

이 문제를 해결하기 위해 root로 cron을 돌릴 수도 있다. 하지만 그러면 생성된 파일의 소유자가 root가 되기 때문에 www-data 권한만 있는 웹서버가 해당 리사이즈 이미지를 지우거나 고칠 수 없다는 문제가 생긴다.

/etc/crontab을 이용하면 사용자를 지정해 cron을 돌릴 수 있다. /etc/crontab은 시스템이 수준의(system-wide) cron 명령어를 저장하는 파일인데, 이 파일에는 user를 지정하는 항목이 있다. 아래처럼 적는다.

# m h dom mon dow user	command
* *     * * *   www-data php /var/www/artisan schedule:run >> /dev/null 2>&1

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다