Python

chromedriver, Crontab, 저장된 파일 위치, 권한 issue

summerorange 2023. 3. 21. 08:04
반응형

crontab과 chromdriver 이전 글

이전 글에서 크론탭과 크롬드라이버가 문제를 해결하기 위해서

1. 경로를 크론탭에 작성하고

2. 크롤링 과정이 창으로 보이도록 뜨지 않도록 설정하고,

3. 저장하는 파일을 csv로 수정하고,

이렇게 수정했었는데,

해결하려면 추가 과정이 필요하다.

4. 루트(최고) 권한 수준해서 해당 사용자가 크론탭을 사용하는 걸 허가해주어야 한다.



# root로 접속
su -

# cron.allow 나 cron.deny 확인해보기
ls -l /etc/cron.allow /etc/cron.deny /etc/at.allow /etc/at.deny

# vim or nana 등등 편집
vim /etc/cron.allow
# 여기에서 root(최종권한)이나, username (해당 사용자 이름을 설정함)
# yscho

# 예시
cat /etc/cron.allow
root
user1

# user1
crontab -u user1 -e
# crontab: installing new crontab
# user1 list
crontab -u user1 -l

상단의 코드는 모두 최종 권한 수준에서 작업한 것. cron.allow에 사용자 이름을 작성한 것 밖엔 없다.

(#만약 root의 비밀번호 설정을 안했다면, sudo passwd root 가 등록하는 것)


5. 저장한 파일은 모두 홈 디렉토리에 저장된다.

csv나 excel 파일로 저장된다. 문제점은, 

암만 찾아도 이 파일은 없는데 로그 기록에 보면 제대로 크롤링 및 파일 저장을 했다고 되어있다.

그런데 그게 내가 지정한 위치는 아니였다.

찾아보니  홈 디렉토리에 저장되고 있었다.

크론탭에 추가로 작업 스케쥴링을 해주었다

# 해당 사용자로 돌아와서
su - user1

crontab -e

# csv, excel
7 0 * * * mv 저장된 파일 위치(*.csv) 옮길 파일 위치

이 외에도 중간 중간 원하는 코드로 수정.

하면 완료. 이제 나대신 일하는 시스템을 만들었다. 호호.

완성!

 

반응형