激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

我如何使用 Ansible 和 anacron 實(shí)現(xiàn)自動(dòng)化

2021-10-14 21:37Linux中國(guó)Seth Kenlon Linux

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

我如何使用 Ansible 和 anacron 實(shí)現(xiàn)自動(dòng)化

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

自動(dòng)化是偉大的 IT 和 DevOps 理想,但根據(jù)我的經(jīng)驗(yàn),可能根本不存在什么不方便的東西。有很多次,我為某些任務(wù)想出了一個(gè)很好的解決方案,我甚至?xí)帉懩_本,但我沒(méi)有讓它真正實(shí)現(xiàn)自動(dòng)化,因?yàn)樵谖夜ぷ鞯臋C(jī)器上不存在易于自動(dòng)化的基礎(chǔ)設(shè)施。

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

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

用 Ansible 進(jìn)行軟件設(shè)置

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

首先,標(biāo)準(zhǔn)的 Ansible 模板:

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

用 Ansible 創(chuàng)建目錄

接下來(lái),我創(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'

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

用 Ansible 復(fù)制文件

ansible.buildin.copy 模塊將文件從一個(gè)地方復(fù)制到另一個(gè)地方。為了讓它工作,我需要?jiǎng)?chuàng)建一個(gè)叫做 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 文件很簡(jiǎn)單,模仿了一些發(fā)行版默認(rèn)安裝在 /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/

登錄時(shí)運(yùn)行 anacron

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

  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

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

這實(shí)際上是一個(gè)單獨(dú)的劇本,因?yàn)檐浖陌惭b需要權(quán)限升級(jí),它由 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 實(shí)現(xiàn)輕松自動(dòng)化

為了用 Ansible 安裝 anacron,我運(yùn)行該劇本:

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

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

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

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 久久噜噜噜精品国产亚洲综合 | 欧美老外a级毛片 | 日本高清一级片 | 欧美成人激情 | 精品一区二区三区中文字幕老牛 | 特片网久久 | 越南一级黄色片 | 亚洲第一综合色 | 国产一级免费电影 | 日韩黄色片免费看 | 羞羞的视频在线免费观看 | 亚洲一区二区免费视频 | 天天躁狠狠躁夜躁2020挡不住 | 欧美成人国产va精品日本一级 | 懂色av懂色aⅴ精彩av | 久久激情小视频 | 国产乱乱视频 | 成人网在线观看 | 成人aaaaa片毛片按摩 | 国产在线91 | 欧美一级片免费在线观看 | 法国性hdfreexxxx人妖 | 日韩激情一区 | www.91在线| av一二三四区 | 免费网站看毛片 | 日本一区二区免费在线播放 | 免费午夜视频在线观看 | 欧美成人自拍 | 在线观看中文字幕av | 国产成人免费高清激情视频 | 久久69精品久久久久久国产越南 | 精品乱码久久久久 | 欧美在线日韩 | 日本精品一区二区 | 成人观看网站 | 国产一区二区欧美精品 | 久久视讯| 精品国产一区二 | 久草在线新时代视觉 | 91精品国产91久久久久久丝袜 |