ansible安装部署_运维日记|使用ansible批量部署crontab定时删归档任务
在某個下午,測試同事突然找過來說,之前測試服務器搭的幾套oracle數據庫忘記部署刪除歸檔腳本了,要讓小編都給部署一下。
?
數了數,有接近十套呢,一部部登陸上去,部署一個刪歸檔腳本,然后再到crontab里面去,設置定時任務。簡單是簡單,但是在于假如需部署的機器有100套,那這種重復性勞動可就太花時間了。
正好,還真有這么一個自動化運維工具ansible
什么是ansible呢?
Ansible是一種集成IT系統的配置管理、應用部署、執行特定任務的開源平臺,它是基于python語言,由Paramiko和PyYAML兩個關鍵模塊構建。
集合了眾多運維工具的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能.ansible是基于模塊工作的,本身沒有批量部署的能力。
1.安裝ansible
在一般的情況下,我們只需在 控制服務器安裝 Ansible 即可。被控端需要安裝與主控端同版本python2 (version 2.6 or later) 或者 Python 3 (version 3.5 or later),及ssh依賴包。我們這里使用yum來安裝一下ansible:
2.編輯ansible的主機清單文件
這里的192.168.238.5[1:7]寫法是一個可以偷懶的地方,萬一有一組ip后綴是1到100,要真的寫滿100行,不僅不夠優雅也顯得麻煩不是。
下圖為控制主機與被控主機簡單示意圖:
3.建立與被控制主機的互信關系
這樣就可以實現免密碼登錄了。
4.使用ansible的ad-hoc命令行模式推送刪歸檔腳本
我們這里直接將刪歸檔內容作為文本寫到目標環境下,并且使用{{sid}}的寫法調用主機清單文件中的sid變量參數,再設置腳本的權限及用戶:
執行完命令后,我們可以查看到目標環境的/tmp/del_arch.sh腳本內容如下:
5.使用ansible的cron模塊來增加crontab定時任務
我們這里寫法如下,設置在每天0點03分執行刪歸檔腳本:
我們可以觀察到目標庫crontab:
6.我們可以使用ansible的劇本(playbook)來更優雅的執行任務
我們來執行這個yaml劇本,結果如下:
小結:
只要跑這么一個yaml文件,所有的主機就能按照劇本一步一步的往下執行,最終簡單高效的實現我們的目標。
運維工作有太多的簡單卻又高度重復的工作。這些工作看似容易,但是一個人不停重復地做下去不僅讓人耗時耗力還容易出錯。適時恰當地使用一些自動化工具此時就能夠明顯地解放人力加快工作效率了。
總結
以上是生活随笔為你收集整理的ansible安装部署_运维日记|使用ansible批量部署crontab定时删归档任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓期末作品小项目_北京部编版八年级上册
- 下一篇: openfeign 负载均衡_再谈ope