一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統(tǒng)進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統(tǒng) - Linux - 我如何使用 Ansible 和 anacron 實現(xiàn)自動化

我如何使用 Ansible 和 anacron 實現(xiàn)自動化

2021-10-14 21:37Linux中國Seth Kenlon Linux

有了 anacron,我可以把腳本和 Ansible 劇本放到合適的地方,以完成各種瑣碎的任務。

我如何使用 Ansible 和 anacron 實現(xiàn)自動化

有了 anacron,我可以把腳本和 Ansible 劇本放到合適的地方,以完成各種瑣碎的任務。

自動化是偉大的 IT 和 DevOps 理想,但根據我的經驗,可能根本不存在什么不方便的東西。有很多次,我為某些任務想出了一個很好的解決方案,我甚至會編寫腳本,但我沒有讓它真正實現(xiàn)自動化,因為在我工作的機器上不存在易于自動化的基礎設施。

我最喜歡的簡易自動化工具曾經是 cron 系統(tǒng),它古老、可靠、面向用戶,而且簡單(除了一個我永遠無法記住的調度語法之外)。然而,cron 的問題是,它假定一臺電腦每天 24 小時都在工作。在錯過了太多預定的備份之后,我發(fā)現(xiàn)了 anacron,一個基于時間戳而非預定時間的 cron 系統(tǒng)。如果你的電腦在通常情況下運行時處于關閉狀態(tài),anacron 會確保它在電腦重新開啟時運行。創(chuàng)建一個作業(yè)只需要簡單地把一個 shell 腳本放到三個目錄中:cron.daycron.weekly 或者 cron.monthly (如果你想的話,你可以定義更多)。有了 anacron,我發(fā)現(xiàn)自己把腳本和 Ansible 劇本用在了各種瑣碎的任務中,包括彈出到期和事件提醒。

這是一個現(xiàn)代問題的簡單而明顯的解決方案,但如果 anacron 沒有安裝在電腦上,那它對我就沒有用。

用 Ansible 進行軟件設置

任何時候我設置一臺新的計算機,無論是筆記本電腦、工作站還是服務器,我都會安裝 anacron。這很簡單,但是 anacron 的安裝只提供了 anacron 命令。它并沒有設置 anacron 的用戶環(huán)境。所以我創(chuàng)建了一個 Ansible 劇本來設置用戶需要什么來使用 anacron 并安裝 anacron 命令。

首先,標準的 Ansible 模板:

  1. ---
  2. - hosts: localhost
  3. tasks:

用 Ansible 創(chuàng)建目錄

接下來,我創(chuàng)建了用于 Anacron 的目錄樹。你可以把它看成是一種透明的 crontab。

  1. - name: create directory tree
  2. ansible.builtin.file:
  3. path: "{{ item }}"
  4. state: directory
  5. with_items:
  6. - '~/.local/etc/cron.daily'
  7. - '~/.local/etc/cron.weekly'
  8. - '~/.local/etc/cron.monthly'
  9. - '~/.var/spool/anacron'

這個語法可能看起來有點奇怪,但它實際上是一個循環(huán)。with_items: 指令定義了四個要創(chuàng)建的目錄,Ansible 在 ansible.buildin.file: 指令中為每個目錄迭代一次(目錄名填充了 {{ item }} 變量)。與 Ansible 中的一切一樣,如果目錄已經存在,不會有錯誤或沖突。

用 Ansible 復制文件

ansible.buildin.copy 模塊將文件從一個地方復制到另一個地方。為了讓它工作,我需要創(chuàng)建一個叫做 anacrontab 的文件。它不是 Ansible 劇本,所以我把它放在我的 ~/Ansible/data 目錄下,那里是我的劇本的支持文件。

  1. - name: copy anacrontab into place
  2. ansible.builtin.copy:
  3. src: ~/Ansible/data/anacrontab
  4. dest: ~/.local/etc/anacrontab
  5. mode: '0755'

我的 anacrontab 文件很簡單,模仿了一些發(fā)行版默認安裝在 /etc/anacron 中的文件:

  1. SHELL=/bin/sh
  2. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  3. 1 0 cron.day run-parts $HOME/.local/etc/cron.daily/
  4. 7 0 cron.wek run-parts $HOME/.local/etc/cron.weekly/
  5. 30 0 cron.mon run-parts $HOME/.local/etc/cron.monthly/

登錄時運行 anacron

大多數 Linux 發(fā)行版將 anacron 配置為從 /etc/anacron 讀取作業(yè)。我主要是作為一個普通用戶使用 anacron,所以我從我的登錄賬號 ~/.profile 啟動 anacron。我不想讓自己記住這些配置,所以我讓 Ansible 來做。我使用 ansible.buildin.lineinfile 模塊,它會在 ~/.profile 不存在時創(chuàng)建它,并插入 anacron 的啟動行。

  1. - name: add local anacrontab to .profile
  2. ansible.builtin.lineinfile:
  3. path: ~/.profile
  4. regexp: '^/usr/sbin/anacron'
  5. line: '/usr/sbin/anacron -t ~/.local/etc/anacrontab'
  6. create: true

用 Ansible 安裝 anacron

對于我的大多數系統(tǒng)來說,dnf 模塊可以用來安裝軟件包,但我的工作站運行的是 Slackware(使用 slackpkg),有時不同的 Linux 發(fā)行版也會進入我的收藏。ansible.buildin.package 模塊提供了一個安裝軟件包的通用接口,所以我把它用在這個劇本上。幸運的是,我還沒有遇到一個名為 anacron 的倉庫不是 anacron,所以現(xiàn)在,我不必考慮軟件包名稱的潛在差異。

這實際上是一個單獨的劇本,因為軟件包的安裝需要權限升級,它由 becomes: true 指令提供。

  1. - hosts: localhost
  2. become: true
  3. tasks:
  4. - name: install anacron
  5. ansible.builtin.package:
  6. name: anacron
  7. state: present

使用 anacron 和 Ansible 實現(xiàn)輕松自動化

為了用 Ansible 安裝 anacron,我運行該劇本:

  1. $ ansible-playbook ~/Ansible/setup-anacron.yaml

從此,我就可以編寫 shell 腳本來執(zhí)行一些瑣碎但重復的任務,然后把它復制到 ~/.local/etc/cron.daily,讓它每天自動運行一次(或者大約如此)。我還為諸如 清理下載文件夾 之類的任務編寫了 Ansible 劇本。我把我的劇本放在 ~/Ansible 里,這是我保存 Ansible 劇本的地方,然后在 ~/.local/etc/cron.daily 里創(chuàng)建一個 shell 腳本來執(zhí)行這個劇本。這很簡單,不費吹灰之力,而且很快成為習慣。

原文鏈接:https://linux.cn/article-13879-1.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: yellow视频免费观看播放 | 亚洲欧美日韩中文高清一 | 99福利影院| 日本人添下面的全过程 | 国产精品成人免费 | 青青草99久久精品国产综合 | 99久久综合精品免费 | 袖珍人与大黑人性视频 | 热99这里有精品综合久久 | 我半夜摸妺妺的奶C了她 | 99热碰 | 成年人免费在线看 | 亚洲 欧美 国产 在线观看 | 欧美一区二区三区免费不卡 | 午夜精品国产自在现线拍 | cosplay 极品videos | 亚洲色图150p | 青青青在线视频播放 | 日日夜夜撸影院 | 亚洲香蕉伊在人在线观婷婷 | 俄罗斯年轻男同gay69 | 青青草影院在线观看 | 1024亚洲精品国产 | 艹的好爽 | 亚洲精品午夜级久久久久 | 好大好猛好深好爽视频 | 91精品综合国产在线观看 | 2018久久精品热在线观看 | 经典千人斩一区二区视频 | 日韩美一区二区三区 | 女人和拘做受全过程免费 | 亚洲一区二区三区深夜天堂 | www.日日爱| 色戒 完整版 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | bl双性小说 | 国产精品资源在线观看网站 | 99久久999久久久综合精品涩 | 日韩在线a视频免费播放 | 楚乔传第二部免费播放电视连续剧 | 国产成人亚洲精品一区二区在线看 |