cron + 쉘 스크립트로 Github 녹화 자동화
5510 단어 ShellScriptcronGitHub
소개
이전에 Github를 녹화하기 위해 가능한 한 매일 코드를 쓰고 있었던 시기가 있었지만 자동으로 녹색으로 할 수 있다고 생각하는 것이 있었기 때문에 자동으로 Github에 커밋 해주는 시스템 를 만들었습니다.
※ 자신의 손으로 Github를 녹화하는 것은, 손을 움직이는 동기부여가 되기 때문에 그러한 사람에게는 추천하지 않습니다
Github가 초록색이라고 모르는 사람이 뽀뽀했을 때 "이 엔지니어는 적극적으로 활동하고 있구나"라는 인상이 되므로 인상도 좋을까 생각합니다. (얇은 녹색이 계속 줄지어 있는 것은 부자연스럽지만 거기는 적극적으로 다른 프로젝트에서 커밋하고 색을 진하게 해 갑시다 웃음)
↓ 참고까지 7월당부터 이 프로그램을 움직이고 있는 현재의 나의 Github는 이런 느낌이 되고 있습니다.
업무로 다른 프로젝트에 커밋하는 일도 많기 때문에 그들과 좋은 느낌에 중화하고 있군요.
구현 방법
자동으로 할 수 있는 방법은 몇 가지가 있다고 생각합니다만, 이번은 쉘 스크립트를 써, CentOS상에서 cron을 사용해 자동 실행시키는 것을 결정했습니다.
프로그램
그냥 잠자리에 텍스트를 Github에 push 시키는 것이 아니라, 어차피라면 조금만이라도 되도록 하고 싶다고 생각하고, qiita htps : // 코 m / Popu r-ms / Fue d .
app.sh#!/bin/sh
cd $(cd $(dirname $0) && pwd)
file_name=`date +%Y-%m-%d`
path="$(cd $(dirname $0) && pwd)/posts/${file_name}.md"
if [ ! -e $path ]; then
items=`curl -s https://qiita.com/popular-items/feed | \
grep -o '<title>.*</title>\|https://qiita.com/.*?' | \
sed -e '1d' -e 's/?$//' -e 's/^<title>//' -e 's/<\/title>$//'`
IFS=$'\n'
count=1
for items in `echo "$items"`
do
if [ $(( count % 2 )) == 0 ]; then
title="- [${items}]"
row=$title$url
echo $row >> $path
else
url="(${items})"
fi
count=$(( count + 1 ))
done
git add .
git commit -m "add post ${file_name}.md"
git push origin master
fi
자동 실행
처음에는 자신의 mac의 launchd를 이용해 자동 실행시키고 있었습니다만, mac를 기동하지 않으면 자동 실행해 주지 않기 때문에, 현재는 개인으로 계약하고 있는 VPS상에서 실행시키고 있습니다.
(엔지니어라면 VPS 정도는 가지고 있겠지.....)
인스톨하고 있는 OS는 CentOS이므로 cron을 이용해 자동 실행시키고 있습니다.
$ crontab -e
에서 매일 9시에 대상 스크립트가 움직이도록 설정합니다.
00 09 * * * /home/hiroki/qiita-trending/app.sh
이제 매일 9시에 Github에 qiita의 트렌드에 실려 있는 투고 목록이 자동으로 push 되게 되었습니다.
결론
이번에 작성한 프로그램은 여기 에 올려놓았습니다.
Reference
이 문제에 관하여(cron + 쉘 스크립트로 Github 녹화 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hc0208/items/cf1970927ba3aa5ce3a9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
자동으로 할 수 있는 방법은 몇 가지가 있다고 생각합니다만, 이번은 쉘 스크립트를 써, CentOS상에서 cron을 사용해 자동 실행시키는 것을 결정했습니다.
프로그램
그냥 잠자리에 텍스트를 Github에 push 시키는 것이 아니라, 어차피라면 조금만이라도 되도록 하고 싶다고 생각하고, qiita htps : // 코 m / Popu r-ms / Fue d .
app.sh#!/bin/sh
cd $(cd $(dirname $0) && pwd)
file_name=`date +%Y-%m-%d`
path="$(cd $(dirname $0) && pwd)/posts/${file_name}.md"
if [ ! -e $path ]; then
items=`curl -s https://qiita.com/popular-items/feed | \
grep -o '<title>.*</title>\|https://qiita.com/.*?' | \
sed -e '1d' -e 's/?$//' -e 's/^<title>//' -e 's/<\/title>$//'`
IFS=$'\n'
count=1
for items in `echo "$items"`
do
if [ $(( count % 2 )) == 0 ]; then
title="- [${items}]"
row=$title$url
echo $row >> $path
else
url="(${items})"
fi
count=$(( count + 1 ))
done
git add .
git commit -m "add post ${file_name}.md"
git push origin master
fi
자동 실행
처음에는 자신의 mac의 launchd를 이용해 자동 실행시키고 있었습니다만, mac를 기동하지 않으면 자동 실행해 주지 않기 때문에, 현재는 개인으로 계약하고 있는 VPS상에서 실행시키고 있습니다.
(엔지니어라면 VPS 정도는 가지고 있겠지.....)
인스톨하고 있는 OS는 CentOS이므로 cron을 이용해 자동 실행시키고 있습니다.
$ crontab -e
에서 매일 9시에 대상 스크립트가 움직이도록 설정합니다.
00 09 * * * /home/hiroki/qiita-trending/app.sh
이제 매일 9시에 Github에 qiita의 트렌드에 실려 있는 투고 목록이 자동으로 push 되게 되었습니다.
결론
이번에 작성한 프로그램은 여기 에 올려놓았습니다.
Reference
이 문제에 관하여(cron + 쉘 스크립트로 Github 녹화 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hc0208/items/cf1970927ba3aa5ce3a9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#!/bin/sh
cd $(cd $(dirname $0) && pwd)
file_name=`date +%Y-%m-%d`
path="$(cd $(dirname $0) && pwd)/posts/${file_name}.md"
if [ ! -e $path ]; then
items=`curl -s https://qiita.com/popular-items/feed | \
grep -o '<title>.*</title>\|https://qiita.com/.*?' | \
sed -e '1d' -e 's/?$//' -e 's/^<title>//' -e 's/<\/title>$//'`
IFS=$'\n'
count=1
for items in `echo "$items"`
do
if [ $(( count % 2 )) == 0 ]; then
title="- [${items}]"
row=$title$url
echo $row >> $path
else
url="(${items})"
fi
count=$(( count + 1 ))
done
git add .
git commit -m "add post ${file_name}.md"
git push origin master
fi
처음에는 자신의 mac의 launchd를 이용해 자동 실행시키고 있었습니다만, mac를 기동하지 않으면 자동 실행해 주지 않기 때문에, 현재는 개인으로 계약하고 있는 VPS상에서 실행시키고 있습니다.
(엔지니어라면 VPS 정도는 가지고 있겠지.....)
인스톨하고 있는 OS는 CentOS이므로 cron을 이용해 자동 실행시키고 있습니다.
$ crontab -e
에서 매일 9시에 대상 스크립트가 움직이도록 설정합니다.
00 09 * * * /home/hiroki/qiita-trending/app.sh
이제 매일 9시에 Github에 qiita의 트렌드에 실려 있는 투고 목록이 자동으로 push 되게 되었습니다.
결론
이번에 작성한 프로그램은 여기 에 올려놓았습니다.
Reference
이 문제에 관하여(cron + 쉘 스크립트로 Github 녹화 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hc0208/items/cf1970927ba3aa5ce3a9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(cron + 쉘 스크립트로 Github 녹화 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hc0208/items/cf1970927ba3aa5ce3a9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)