편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
4번째 줄: | 4번째 줄: | ||
==개요== | ==개요== | ||
*[[expect]]를 활용하여 pywikipedia 로그인 | *[[expect]]를 활용하여 pywikipedia 로그인 | ||
*[[crontab]]에 등록하여 주기적으로 실행 | *[[crontab]]에 등록하여 주기적으로 실행 | ||
13번째 줄: | 9번째 줄: | ||
==수동 실행== | ==수동 실행== | ||
< | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# python /root/pywikipedia/redirect.py double -always | ||
Retrieving special page... | Retrieving special page... | ||
Retrieved 9 redirects from special page. | Retrieved 9 redirects from special page. | ||
25번째 줄: | 21번째 줄: | ||
Password for user Jmnote_bot on Jmnote:ko: | Password for user Jmnote_bot on Jmnote:ko: | ||
</ | </source> | ||
:→ 패스워드를 요구하므로 자동으로 처리될 수 없다. | :→ 패스워드를 요구하므로 자동으로 처리될 수 없다. | ||
31번째 줄: | 27번째 줄: | ||
{{참고|expect}} | {{참고|expect}} | ||
패스워드가 자동으로 입력되게 하기 위해 expect가 필요하다. | 패스워드가 자동으로 입력되게 하기 위해 expect가 필요하다. | ||
< | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# rpm -qa | grep expect | ||
expect-5.43.0-8.el5 | expect-5.43.0-8.el5 | ||
</ | </source> | ||
==자동화 스크립트 생성== | ==자동화 스크립트 생성== | ||
< | <source lang='bash'> | ||
mkdir /root/script | mkdir /root/script | ||
cd /root/script | cd /root/script | ||
47번째 줄: | 43번째 줄: | ||
echo "expect eof" >> redirect_expect.sh | echo "expect eof" >> redirect_expect.sh | ||
chmod 755 redirect_expect.sh | chmod 755 redirect_expect.sh | ||
</ | </source> | ||
:→ /root/script 폴더를 만들고 거기에 스크립트를 생성하도록 하였다. | :→ /root/script 폴더를 만들고 거기에 스크립트를 생성하도록 하였다. | ||
:→ 위 명령어 중 자신의 패스워드를 넣으면 된다. | :→ 위 명령어 중 자신의 패스워드를 넣으면 된다. | ||
53번째 줄: | 49번째 줄: | ||
==스크립트 실행 테스트== | ==스크립트 실행 테스트== | ||
< | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# /root/script/redirect_expect.sh | ||
spawn python /root/pywikipedia/redirect.py double -always | spawn python /root/pywikipedia/redirect.py double -always | ||
Retrieving special page... | Retrieving special page... | ||
78번째 줄: | 74번째 줄: | ||
... (생략) | ... (생략) | ||
</ | </source> | ||
:→ 스크립트가 패스워드 입력 등 모든 과정이 자동으로 진행된다. | :→ 스크립트가 패스워드 입력 등 모든 과정이 자동으로 진행된다. | ||
==예약 등록== | ==예약 등록== | ||
;명령어 | |||
< | <source lang='bash'> | ||
cat <(crontab -l) <(echo "35 * * * * /root/script/redirect_expect.sh 2>&1 >> /var/log/redirect_expect.log") | crontab - | cat <(crontab -l) <(echo "35 * * * * /root/script/redirect_expect.sh 2>&1 >> /var/log/redirect_expect.log") | crontab - | ||
crontab -l | crontab -l | ||
</ | </source> | ||
:→ 매시 35분에 수행되도록 예약한다. | :→ 매시 35분에 수행되도록 예약한다. | ||
:→ 수행내역을 /var/log/redirect_expect.log에 기록한다. | :→ 수행내역을 /var/log/redirect_expect.log에 기록한다. | ||
;실행예시 | |||
< | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# cat <(crontab -l) <(echo "35 * * * * /root/script/redirect_expect.sh 2>&1 >> /var/log/redirect_expect.log") | crontab - | ||
[root@ | [root@jmnote ~]# crontab -l | ||
35 * * * * /root/script/redirect_expect.sh 2>&1 >> /var/log/redirect_expect.log | 35 * * * * /root/script/redirect_expect.sh 2>&1 >> /var/log/redirect_expect.log | ||
</ | </source> | ||
==작동 확인== | ==작동 확인== | ||
103번째 줄: | 99번째 줄: | ||
==같이 보기== | ==같이 보기== | ||
*[[ | *[[미디어위키 이중 넘겨주기 봇 돌리기]] | ||
*[[expect]] | *[[expect]] | ||
*[[crontab]] | *[[crontab]] | ||
*[[SCP 자동화]] | *[[SCP 자동화]] | ||
[[분류: 미디어위키]] | |||
[[분류: | |||