목록ansible (8)
준호씨의 블로그
hiredis 를 yum 이나 apt-get 등으로 사용할 수 없고, ansible 버전이 2.1 보다 낮은 경우 make 를 사용할 수 없는데 그런 경우 사용하는 방법입니다. hiredis-0.14.0.tar.gz 는 https://github.com/redis/hiredis/releases 에서 미리 받아 두고 ansible 의 files 디렉토리에 넣어 둡니다. task 는 다음과 같이 작업합니다. sudo 나 tags, dest 디렉토리 등은 상황에 맞게 넣어 주시면 됩니다. - name: unarchive logstash unarchive: src=hiredis-0.14.0.tar.gz dest=/work/ tags: - lib_hiredis - name: make && make install ..
authorized_key 모듈을 이용해서 배포 할 수 있다. 참고 authorized_key - Adds or removes an SSH authorized key
보통은 특정 cron job 을 제거 하고 싶을 때 crontab -e 로 에디터를 열고 제거 할 라인을 지우면 된다. 그러나 관리하는 서버가 많아서 일괄 작업이 필요 한 경우 쉘커맨드를 활용해서 지우면 편리 하다. "some job" 이란 문구가 있는 내용 제거 crontab -u junho85 -l | grep -v "some job" | crontab -u junho85 - crontab -l 하면 cron 내용이 나온다. 거기서 "some job" 이 들어간 부분만 제거 한 후 그 내용으로 다시 업데이트 하는 것이다. ansible 로 여러 서버 작업 ansible dev -i hosts -m shell -a 'crontab -u junho85 -l | grep -v "some job" | cro..
압축된 파일을 리모트 서버에서 풀려고 하면 어떻게 해야 할까? copy 한 후 압축 풀기 커맨드를 날린다. 그리고 copy 한 파일을 지운다. 간단하긴 하지만 좀 번거롭다. 더 쉬운 방법이 없을까 찾아 보니 unarchive 가 있다. - name: unarchive logstash unarchive: src=logstash-all-plugins-2.3.1.tar.gz dest=/somewhere/ 참고 http://docs.ansible.com/ansible/unarchive_module.html
일단 ansible 을 이용해서 왜 python-simplejson 을 설치 하는게 궁금할 수 있다. 사실 python-simplejson 을 설치해야 되는 경우는 리모트 서버가 python 2.4 버전을 사용하는 경우에만 해당된다. (참고로 python 2.5 이상은 python-simplejson 을 설치할 필요가 없고 2.4 미만은 ansible 을 사용할 수 없으니 높은 버전의 python 을 설치 하는 것이 좋다.) 리모트 서버가 python 2.4 를 사용하는 경우 python-simplejson 이 없다고 에러가 난다. 이런 경우 서버 마다 직접 들어가서 python-simplejson 을 설치해 줘야 할까? 이럴 때 사용 할 수 있는게 raw module 이다. 예를 들어 다음과 같은 방법..