我之前写过关于社区经理是做什么的,如果你问十个社区经理,你会得到 12 个不同的答案。 但大多数情况下,你会在任何特定时刻做社区需要你做的事情。 而其中很多事情可能是重复性的。
当我还是系统管理员的时候,我有一个原则:如果我需要做某事三次,我会尝试自动化它。 当然,现在有了像 Ansible 这样优秀的工具,自动化已经成为一门完整的科学。
我每天或每周所做的一些工作包括在几个地方查找信息,然后生成一些摘要或报告,以便在其他地方发布。 这样的任务是自动化的完美候选。 这些都不是什么高深的学问,但是当我与同事分享其中一些脚本时,总是至少会有一个脚本被证明是有用的。
在 GitHub 上,我有一些每周都会使用的脚本。 它们都不复杂,但每次都能为我节省几分钟时间。 其中一些是用 Perl 编写的,因为我快 50 岁了。 其中一些是用 Python 编写的,因为几年前,我决定需要学习 Python。 这是一个概述
tshirts.py
这个简单的脚本接受你将为活动订购的 T 恤数量,并告诉你尺码分布应该是多少。 它将它们分布在正态曲线(也称为钟形曲线)上,根据我的经验,这与你实际需要的普通会议受众非常吻合。 如果你在美国使用它,你可能想稍微调整脚本以使其更大一些,如果在欧洲使用,则稍微小一些。 YMMV(您的里程可能会有所不同)。
用法
[rbowen@sasha:community-tools/scripts]$ ./tshirts.py
How many shirts? 300
For a total of 300 shirts, order:
30.0 small
72.0 medium
96.0 large
72.0 xl
30.0 2xl
followers.py
这个脚本为我提供了我关心的 Twitter 账号的粉丝数。
这个脚本只有 14 行代码,并不令人兴奋,但它可以为我节省大约十分钟的加载网页和查找数字的时间。
你需要编辑 feeds 数组以添加你关心的帐户
feeds = [
'centosproject',
'centos'
];
注意:如果你的运行环境不在英语国家,它可能无法工作,因为它只是一个简单的屏幕抓取脚本,它读取 HTML 并查找其中埋藏的特定信息。 因此,当输出使用不同的语言时,正则表达式将不匹配。
用法
[rbowen@sasha:community-tools/scripts]$ ./followers.py
centosproject: 11,479 Followers
centos: 18,155 Followers
get_meetups
这个脚本属于另一个类别——API 脚本。 这个特定的脚本使用 meetup.com API 来查找特定主题在特定区域和时间范围内的聚会,以便我可以将它们报告给我的社区。 你依赖的许多服务都提供 API,以便你的脚本可以查找信息,而无需手动浏览网页。 学习如何使用这些 API 可能会令人沮丧且耗时,但你最终将掌握可以为你节省大量时间的技能。
免责声明:meetup.com 在 2019 年 8 月更改了他们的 API,我尚未将此脚本更新到新的 API,因此它目前实际上无法正常工作。 请关注此仓库,以获取未来几周内的修复版本。
centos-announcements.pl
这个脚本相当复杂,并且非常特定于我的用例,但你可能也有类似的情况。 这个脚本查看邮件列表存档——在本例中是 centos-announce 邮件列表——并查找特定格式的消息,然后构建这些消息的报告。 报告有几种不同的格式——一种用于我的每月新闻通讯,一种用于(通过 Hootsuite)安排在 Twitter 上发布的消息。
我使用 Hootsuite 来安排在 Twitter 上发布内容,他们有一种方便的 CSV(逗号分隔值)格式,可以让你一次批量安排整整一周的推文。 从各种数据源(即邮件列表、博客、其他网页)自动生成该 CSV 可以为你节省大量时间。 但请注意,这可能只应用于初稿,然后你再检查和编辑自己,这样你就不会最终自动发布一些你不想发布的内容。
reporting.pl
这个脚本也相当特定于我的特定需求,但这个概念本身是通用的。 我每月向 CentOS SIG(特别兴趣小组)发送邮件,这些小组计划在该月进行报告。 这个脚本只是告诉我本月是哪些 SIG,并编写需要发送给他们的电子邮件。
但是,它实际上并没有发送该电子邮件,原因有几个。 一,我可能希望在邮件发出之前对其进行编辑。 二,虽然在过去脚本发送电子邮件效果很好,但现在,它们很可能最终被垃圾邮件过滤器过滤掉。
结论
该仓库中还有一些其他脚本或多或少特定于我的特定需求,但我希望其中至少有一个对你有所帮助,并且其中的各种内容可以启发你自动化你自己的某些内容。 我也很乐意看到你方便的自动化脚本仓库; 在评论中链接到它们!
5 条评论