Articles of 自动化

我如何自动清除和重置Linux用户的主目录为默认?

我正在帮助下周开设两门Unix课程。 用户将被授予一个RHEL 5机器上的帐户,在此期间,他们将文件添加到他们的/home文件夹,更新他们的.bashrc和其他dotfiles,并执行其他一般的杂乱,需要清理。 第二次会议的学生将在第一次会议中重复使用人员的用户帐户。 我想自动清理帐户,所以新用户可以重新开始。 我确信我可以编写一个运行su -u $USER_ID的shell脚本,并在其homedir中放置一个“原始”的好文件集,并删除它find的其他东西。 有其他的工具可以帮助我清理/重置操作吗? 我对傀儡,厨师或其他工具没有任何经验。 他们会有帮助做这样的事情吗? 为了提供这个问题的范围,大约有30个用户帐户,我知道所有的用户名/密码,他们都是在同一个RHEL盒子上创build的。

将消息从bash发送到IRC频道

我在Ubuntu服务器(192.168.1.2,example.com)上安装了ircd-hybrid 。 我们使用#teamchannel在团队内沟通。 问题是:如何从example.com发送一些短消息到bash脚本的#teamchannel ? 例如example.com: Alert! The server is rebooting now example.com: Alert! The server is rebooting now 编辑: 我find了一个perl脚本 ,正是我所需要的。

如何使用Powershell禁用计划任务?

我有一个在Windows Server 2008 R2上运行的Web应用程序,它有大量的计划任务来处理所有的后端工作。 当我做一个触及数据库的软件部署时,我需要禁用所有的计划任务。 目前我有一个很长的清单,我需要手动进行,当我去时禁用每个计划的任务 – 当然这是一个成熟的与Powershell自动化的工作。 不幸的是,Powershell文档对于如何禁用现有的计划任务(当然,一旦发布成功完成后重新启用它)似乎相当费解。 我可以获得已准备就绪,正在运行或已禁用的任务列表,但下一步是什么?

如何使用Powershell修改现有的计划任务?

我正在使用一些发布自动化脚本,使用Powershell来更新执行各种应用程序的现有计划任务。 在我的脚本中,我可以设置应用程序的path和工作目录,但似乎没有将更改保存回任务。 function CreateOrUpdateTaskRunner { param ( [Parameter(Mandatory = $TRUE, Position = 1)][string]$PackageName, [Parameter(Mandatory = $TRUE, Position = 2)][Version]$Version, [Parameter(Mandatory = $TRUE, Position = 3)][string]$ReleaseDirectory ) $taskScheduler = New-Object -ComObject Schedule.Service $taskScheduler.Connect("localhost") $taskFolder = $taskScheduler.GetFolder('\') foreach ($task in $taskFolder.GetTasks(0)) { # Check each action to see if it references the current package foreach ($action in […]

configurationpipe理:跨机器依赖关系

我曾经使用过木偶这样的工具来pipe理个人系统,而且成功率很高。 傀儡堕落的地方在于它不擅长pipe理个人服务器之外的依赖关系。 例如,在MySQL服务器上,我configurationpuppet来执行以下操作: 在计算机上configuration身份validation以启动我的LDAP服务器 configurationapt使用我的本地存储库镜像 安装MySQL包 写my.cnf 启动MySQL 在数据库中创build用户 在这组步骤中,有一些依赖关系已解决 – 例如,除非安装了软件包,否则我无法启动数据库服务,除非正确configurationapt repo,否则我无法执行此操作。 这个MySQL服务器是主 – >主复制设置中的一个框。 在一个理想的世界里,puppet(或者其他类似的工具)会让我performance出这样一个事实:服务器B需要等到服务器A可用,然后尝试与它build立复制关系。 这里有很多文字 – 基本上我问的是:像puppet这样的工具可以像这样pipe理机器间的依赖吗?

将(和其他)VLAN自动部署到Procurve交换机

我有一堆交换机将所有东西连接在一起,在我们的DC,50机架或者价值不菲的套件中。 login其中的每一个进行configuration更改已经开始成为一个问题 – 大多数情况下会在所有中继端口上添加/删除VLAN,但每隔一段时间就会有一些其他configuration更改,我们需要将其转移到所有交换机。 Linux / FOSS中是否有任何推动交换机configuration的东西? 我已经看过RANCID,虽然它看起来很棒(检索configuration和报告变化),但是如果它支持集中修改configuration并将它们展开,那么它将隐藏在蒲式耳之下。

使用Puppet部署我们自己的软件?

(在这个问题上,我很抱歉,我通常是一个程序员,而不是系统pipe理员,但是我自己做了一些事情的自动化,并且清理了一些其他自动化的东西,但是没有以最漂亮的方式。:-) 我一直在环顾各种各样的工具,将软件部署自动化到cfengine,Puppet和Chef等一堆服务器上。 到目前为止,木偶看起来是最有吸引力的,但我当然还没有承诺任何东西。 这些工具看起来像是可以很好地保持一堆服务器与预先打包的软件的最新状态。 我没有得到的是:如何使用工具(如Puppet)来pipe理我们自己的内部软件的部署? 我觉得我很茫然,因为我看过一千个教程展示了如何让Apache ensure => latest (这非常酷),但是没有什么和我今天的用例相对应,这更像是: 当一个人按下button时, 从版本控制库B中拉出分支A. 运行命令C来编译它 将二进制文件D复制到服务器E1到E10 在每台服务器上运行命令F使所有更改生效 木偶听起来不错,我完全看到声明式,幂等configuration优于一些shell脚本的优点,但我还没有看到任何教程“你想更新你的shell脚本到Puppet(或厨师,或cfengine),所以这就是你应该做”。 有这样的事吗? 其他人是否明白如何把Puppet文档中提供的内容复制到我想要的行为上? 我只是没有得到它? 到目前为止,听起来对于我来说,人类(#1)会手动打包Puppet外部的软件(#2和#3),手动更新Puppetconfiguration,这将触发Puppet更新服务器。 .. 也许? (我在这里有点困惑,因为我敢肯定你可以告诉。) 谢谢!

FreeBSD的freebsd-update自动化?

freebsd-update命令在下载后打印更新条目。 但它more显示了他们。 所以我必须按一些空格才能继续。 有没有办法避免这种行为? 我想执行更新完全自动化的方式。

食谱之间的共享文件/模板

我们有多个食谱,引用相同的文件和模板,并想知道是否有一个合理的方法来确保所有这些是相同的文件,以确保没有过时。 是否有可能有一个单一的文件/模板参考多个食谱/食谱? 我想过使用符号链接,但是这不适合我们,因为Git不支持它们。

如何自动化stream水线?

多年以来,我使用整合的Windows安装。 这工作得很好,但准备他们是乏味的: 1 – 使用我们拥有的最后一个版本安装Windows(自动安装) 2 – 检查Windowsupdate,看看有什么新的,并注意 3 – 下载每个可用的新更新 4 – 进行到第2步,直到没有新的更新可用5 – 将它们融入到我们最后的版本(我已经自动化了这一步) 我想要一种方法来自动化部分或所有这一切。 也许一个程序能够知道哪些更新安装(已经看到一个,我不记得哪个,我知道PowerShell可以做到这一点)…并能够下载它们? 或者从本地磁盘获取它们? 所以这些步骤变成: 1 – 使用我们拥有的最后一个版本安装Windows(自动安装) 2 – 使用Windowsupdate,直到没有新的更新可用(任何方法来自动化?) 3 – 使用魔法程序 4 – 滑stream 编辑:我的需求是为Windows 7和2008年,但目标是一般,因为其他人可能有其他的需求。