当您从事 IT 运营工作时,自动化是您工作的一个关键部分。

您将需要处理各种重复性任务,并且您不想浪费时间做一些可以通过脚本完成的事情。

以下是自动执行重复任务的一些重要原因:

  • 重复性的工作对你的事业和技能发展毫无帮助
  • 有很多犯错的空间
  • 正如我之前所说,你觉得你在浪费时间。如果你只是让别人做这些任务,他们也会这样。

什么时候该自动执行一项任务?

好吧,你在职业道路上前进得越多,你就越能理解何时可以尝试实现流程自动化。

根据我的个人经验,你需要能够回答以下三个问题:

1. 您多久执行一次此任务?

记录上个月你执行这项任务的次数。如果每周或更短时间内需要执行一次,你应该尝试将其自动化

2. 这个过程需要多长时间?

尝试估算完成任务所需的平均时间。如果等于或超过 30 分钟,我认为值得考虑如何实现自动化。

举个例子,假设你每天都执行这项任务,需要 30 分钟。那么每周需要 2.5 小时,每月需要 10 小时。假设你每天工作 8 小时,那么你每月需要花超过一天的时间来处理这项任务。从预算上讲,这是一大笔钱

3. 自动化的成本是多少?

您需要进行成本估算:开发脚本需要多少小时?您是否需要使用任何第三方服务,例如库、云服务等?

如果您认为开发速度快而且成本不高,可以考虑继续实施。

如何自动执行任务

好的,现在让我们看看如何自动执行一个简单但频繁的任务。

当您从事 IT 运营工作时,您需要经常为其他部门生成包含更新信息的报告或文件。假设您被要求生成一个包含有关特定 GitHub 个人资料的一些信息的文件。

GitHub 提供了 API,您可以通过它获取有关单个个人资料的信息:

https://api.github.com/users ​

我们可以用 Node.js 和 Axios 编写一个快速脚本来调用端点,获取所需的信息,并创建一个文本文件将其存储在特定目录中。

这是我们的脚本:

const axios = require('axios');
const fs = require('fs');

axios.get('https://api.github.com/users/')
  .then(response => {
    const file_text = response.data.login + " " + response.data.name
    const nome = Date.now()
    console.log(response.data.login);
    console.log(response.data.name);
    fs.writeFile('./fileCreated/' + nome + '.txt', file_text, err => {
      if (err) {
        console.error(err)
        return
      }
    })
    
  })
  .catch(error => {
    console.log(error);
  });

如您所见,一旦我们调用端点,我们就会将用户名和名称记录到控制台。然后我们将此信息打印在以时间戳命名的文本文件中,并保存在名为“fileCreated”的目录中。

如何定期运行脚本

有大量工具可帮助您随时运行脚本。在本教程中,我决定使用 Azure WebJobs。

它是 Azure Pass 解决方案“Web App”中包含的一项服务,它允许您手动或定期运行使用世界上最流行的语言(如 Java、Python、.NET 以及 NodeJs)编写的脚本。

在此处 找到完整列表 .

如何使用 Azure WebJobs

我假设您已经创建了 Web 应用。请考虑一下,在我撰写本教程时,Webjobs 仅在 Windows Web 应用上可用。

如果您需要入门帮助,我建议您查看 Microsoft 的本 教程 。

在 WebApp 菜单(左侧栏)上,我通过输入“WebJobs”并单击它来过滤选项:

0


进入 WebJobs 面板后,我单击“添加”以添加脚本(我将文件及其所有依赖项压缩,并将其命名为“axiosexample”)。然后,

  • 我输入了名字
  • 我上传了压缩文件
  • 我选择“触发”,因为我不希望这个任务连续执行

在“触发器”选项中,我选择了“手动”,因为我想立即运行它以向您展示本教程的结果。但您可以通过选择“已安排”并指定 CRON 表达式来安排 WebJobs。查看 本 教程以了解如何编写 CRON 表达式。

如果你想了解更多关于 CRON 表达式的知识,互联网上有很多相关文献。你可以简单地从 Wikipedia 页面 ,查看 上的本教程 ,然后继续阅读其他有用的内容,例如 Cronitor .

接下来点击“确定”。

2

保存后,点击“运行”立即执行任务。然后点击“日志”查看 WebJobs 的结果。

4

进入“日志”页面后,点击 webjobs 以获取更多详细信息:

5

接下来让我们设置 WebJobs 的“时间”:

6

我们会看到如下日志消息:

7

现在,通过使用我们的 Web 应用程序中提供的“Kudu”服务,通过 Powershell 转到您保存文件的目录。

“Kudu” 是 Azure Web 应用上提供的一项非常有用的服务,它允许您获取有关 Web 应用本身的大量信息,例如应用设置、运行命令等。您可以 在此处 .

8

您将到达您创建的目录。路径是:

\home\site\wwwroot\App_Data\jobs\triggered\webjob\axiosexample\fileCreated
9

找到该文件后,打开它,你将看到以下内容:

10

包起来

这是一个简单的示例,说明如何使用几行 JavaScript 和 Azure Webjobs 简单地自动执行任务。

只需环顾四周,看看你认为哪些事情重复且耗时。然后,想想如何将这些操作放入脚本中,就大功告成了!

自动化就在你身边!别忘了:自动化程度越高,你就越有时间考虑更多的自动化……欢迎随时查看我 在 GitHub 上的 repo

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部