Articles of 脚本

根据Active Directory OU分配部门

我们刚刚进入与ADFS绑定的Office 365。 当我们在Office 365中查看他们的联系信息时,我们希望能够自动查看人员的部门。我们没有任何目前在AD中分配的部门属性。 但是,我们基本上每个部门都有自己的OU。 是否有办法根据自己所在的OU自动为每个用户分配一个部门,这样,如果他们移动到不同的部门(因此OU),它会在所有级别更新?

通过HTTPclosures特定的Icinga 2通知

在Nagios Core中,可以通过Web界面closures特定服务或主机的通知。 这是一个简单的Web请求,我们也可以在命令行脚本/工具中构build。 如果需要closures手动重新启动的主机,更新服务或通过自动化脚本重新部署代码等情况,则此CGI连接器非常适用。 最近,我们一直在考虑移植到Icinga 2.从它的Web界面(正确命名Icinga Web),可以做同样的事情。 只有一个问题, 由于Icinga具有CSRF缓解function,因此通过模拟Icinga Web请求,不可能以一种简单的方式来做到这一点。 有没有办法通过某种types的API(REST或其他)? 到目前为止,我的search没有什么比旧的CGI接口的规范,这似乎没有提供新的Icinga Web,参考: http ://docs.icinga.org/latest/en/extcommands2 。 HTML 编辑 :实际上仔细阅读提供的链接后,我注意到这提供了一个命令文件,允许命令插入作为基于行的媒体。 这仍然给我们提出了一些问题,虽然(并发是其中之一)。

木偶:如何写出适当的“条件和条件”声明?

我写了一个“今日消息”Puppet模块,影响我公司所有的代理服务器。 在模板文件中,我有以下“if语句”: <% if @hostname !~ /^haproxy\d+/ and @hostname =~ /proxy\d+/ -%> if [ "$(cat $LBMEMFILE)" = "0" ]; then echo -e "\e[35m Membeship in LB: Yes" elif [ "$(cat $LBMEMFILE)" = "2" ]; then echo -e "\e[35m Membeship in LB: No $LISTMEMFILE" fi <% end -%> 它的意义: 如果主机名为proxy0-100而不是^ haproxy0-100,则向motd脚本添加一行。 但由于某种原因,这种说法不起作用。 我也尝试使用“除非”,但无济于事。 如果我删除第一行中的“和”之后的语句,它就像一个魅力。 这是我得到的错误: Error: […]

使用PowerCLI / PowerShell for gmailembeddedhtml电子邮件时遇到问题

我是Powershell的新手,我是VMware环境的初级pipe理员。 我正在尝试在PowerCli中自动创build快照周报。 我正在Powershell中创build脚本。 我已经做了一个简单的CSS,我有电子邮件发送成功与HTML表作为附件。 我用cssuri选项使用convertto-html,然后发送mailmessage。 但是,更好的办法是直接在我们的Gmail收件箱中显示,而不必下载任何附件。 这就是我卡住的地方。 我把它发送到电子邮件,但它显示为纯文本 – 没有很好的格式发生。 用最新的脚本,看起来像这样。 make the "creds" file first and drop it into a directory. Write-Host "`n Starting script, connecting to server" -ForegroundColor Green $creds = Get-VICredentialStoreItem -file "D:\Documents and Settings\creds" connect-viserver -server $creds.Host -User $creds.User -Password $creds.Password Start-Sleep -s 30 Write-Host "`n Connection to server complete" -ForegroundColor […]

即使文件没有旋转,Logrotate也会执行postrotate

我有我的rsyslog和imfile的问题,当我的一个日志文件被截断时失败。 所以要解决这个问题,我已经修改了logrotate脚本,如下所示: "/etc/logrotate.d/logrotate.elasticbeanstalk.tomcat7.conf": mode: "000644" owner: root group: root content: | /var/log/tomcat7/* { size 1M rotate 5 missingok compress notifempty copytruncate dateext dateformat %s olddir /var/log/tomcat7/rotated postrotate (/sbin/service rsyslog stop && rm -f /var/lib/rsyslog/tomcat-catalina && /sbin/service rsyslog start 2>&1) || true endscript } 在tomcat7文件夹中有或多或less的15个文件,它们都小于1M期望catalina.out所以我希望logrotate在处理这个文件时只执行postrotate脚本,但是在这里它是做什么的: [ec2-user@ixxxxxxx]$ sudo logrotate -v /etc/logrotate.d/logrotate.elasticbeanstalk.tomcat7.conf reading config file /etc/logrotate.d/logrotate.elasticbeanstalk.tomcat7.conf reading config […]

#!/ usr / bin / expect不工作

这可能是一个简单的问题,但是有一个简单的期望脚本,我已经添加了可执行位,似乎忽略了#!/ usr / bin / expect解释器行。 此外,似乎variables没有被设置,因为当我回应他们时,他们是空白的… #!/usr/bin/expect -f set device "1.1.1.1" set user "testuser" spawn ssh $user@$device echo $device echo $user ls -lh -rwxr-xr-x root root testexpect.exp 感谢您的帮助社区! PS我正在运行Debian Wheezy,通过apt-get install期待安装expect …谢谢

如何使用命令行或脚本为Windows SMTP添加允许的中继IP

我有一个很长的IP地址列表,我需要将其作为允许的中继添加到Windows Server 2008 R2上的内置SMTP服务(IIS 7.5,但SMTP使用旧的IIS 6.0pipe理器) 我知道如何手动添加允许的继电器,但有一个很长的名单,所以我正在寻求自动化。 有没有办法从命令行,脚本或其他自动化?

iptables-save语法

我的目标是自动化我的iptablesconfiguration,所以当分析我当前的iptables规则安装在我的本地盒子参考时,我使用iptables-save > ./iptables.save; cat ./iptables.save iptables-save > ./iptables.save; cat ./iptables.save # Generated by iptables-save v1.4.21 on Fri Aug 14 14:33:13 2015 *nat :PREROUTING ACCEPT [32:10397] :DOCKER – [0:0] …<SNIP>… -A PREROUTING -m addrtype –dst-type LOCAL -j DOCKER … 什么是重要的:DOCKER – [0:0]和什么-A PREROUTING -m addrtype –dst-type LOCAL -j DOCKER转换为?

NAUbackup – Xenserver 6.5备份解决scheme

是否每个人都成功地使用了用于xenserver 6.5的NAUBackups ,并将其备份转移到SAN存储库? 我看到默认脚本备份到一个NFS共享,但我试图避免NFS作为备份位置。 我只想备份到我们的SAN。 这是我正在寻找的东西: SAN备份位置, 而不是 NFS NAUBackup

如何在所有远程服务器上并行执行带有args的bash脚本(如果从远程服务器中的远程服务器)

请仔细阅读问题,然后给予解决scheme ……………. 我们在目录中有3个文件 myscript.sh(myscript.sh文件包含许多函数,并从serverlist.txt文件启动/停止所有对/单对,函数如 对于start()函数:检查arg2是全对还是单IP对,然后启动它。 对于stop()函数:它检查arg2是全对还是单IP对然后停止它。 对于rules()函数:它检查arg3是否是new-rules或者same-rules然后拷贝它 对于put_files()函数:它与arg2一起使用,并检查arg2是全对还是单IP对 like: ./myscript.sh put_files all-pair or ./myscript.sh put_files 192.168.20.13-192.168.20.21 2. deployment_function文件:deploymet_function文件以pair的forms从server_list.txt文件中获取IP-Pair。 server_list.txt server_list.txt的conatin会以IP-Pair(C ++ Server-数据库服务器)的forms主机IP。 192.168.20.13-192.168.20.21 192.168.20.22-192.168.20.34 192.168.20.42-192.168.20.45 我的脚本的基本语法: ./myscript.sh arg1 arg2 arg3 其中,arg1 =开始或停止或放置文件 arg2 =全双或单个ip对 arg3 =新规则或相同的规则 我们正在执行我们的脚本在以下几个方面….. ./myscript.sh启动所有对新规则 ./myscript.sh start 192.168.20.13-192.168.20.21新规则 ./myscript.sh停止所有对或 ./myscript.sh stop 192.168.20.13-192.168.20.21 问题:实际上,它的执行很好,但是由于它是连续执行的,所以在所有IP对上执行需要更多的时间。 首先是192.168.20.21,然后是192.168.20.13,然后是192.168.20.34和192.168.20.22 …..当它遇到错误时,在该服务器上停止。 而不是在其余的IP对上执行。 我想在所有的服务器上并行执行myscript,如果出现错误,然后列出该服务器并执行furtur。 所以有没有任何解决scheme,我可以并行执行相同的脚本,而不用改变myscript。 所以请帮我找出正确的方法来做到这一点….