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