我已经configuration了Redmine电子邮件集成,虽然很棒,但主要的烦恼是人们的签名包含公司徽标,然后通过电子邮件发送到每张票。 我知道这不是一个完美的解决scheme,但我想pipe道删除消息中的名为“image001.png”的附件的脚本,所以我可以pipe它一起处理程序。 有没有工具可以帮助,或者我必须从头开始? 之前: alias > mailhandler.rb 之后: alias > parser.script > mailhandler.rb
我有一些工作需要在50多台服务器上完成。 第一步是将一些源代码的更新版本签出到一个共享目录(假设所有共享驱动器都已安装)。 其次是在每个服务器上执行一些工作。 我宁愿让这两个脚本在每台服务器上运行。 所有50多台服务器都是从一张磁盘映像中克隆出来的,对我来说,定制它们是不现实的。 当50个服务器运行第一个脚本时,我只想要第一个脚本尝试运行它来实际运行它。 其他我想简单地退出。 实际运行脚本的服务器应该更新共享目录,然后退出。 之后,第二个脚本将运行并根据第一台服务器获取的更新代码在所有服务器上执行该工作。 什么是最好的方法来做到这一点? 我可以可靠地让第一个脚本运行在一台服务器上,并创build一个文件,或者作为某种types的“信号灯”或“locking”,使其他服务器远离? 更复杂的是,我正在考虑让每个服务器上的相同cron文件运行脚本,这意味着所有脚本都可以同时运行,假设所有的时钟都是相同的。 我希望这些将从bash脚本运行。 这是否有道理? 编辑:更新的基础上的问题: 我们不希望每个服务器都试图检出它们自己的这些文件副本 – 它们在一个多GB的源代码库中,并且有50个以上的代码同时签出对于我们的源代码pipe理服务器来说是很困难的(而且不可扩展到100多台服务器)。 在50多台服务器上添加一个cronjob并不是什么大问题,但是用自己的configuration添加另一台定制的服务器是很困难的。 我们已经克隆了50台服务器 – 维护一台单独的服务器只是为了检查50多台服务器的最新源代码,看起来很浪费,而且会增加更多的开销,而不仅仅是将脚本添加到我们当前的服务器上。
这些论坛是伟大的,我希望得到一些帮助头痛我做了一个手动的过程,应该是比我发现它更容易自动化。 我有一个供应商应用程序的命令行工具,将上传应用程序的日志。 该工具只需要Unix UTC时间,我需要每天运行3到4次计划任务来上传应用程序日志。 我可能只是上传所有的日志,但这仍然是一个问题,因为我不知道如何在脚本中做到这一点。 所以我可以上传所有的日志,而不用担心只上传最新的日志。 该命令是在我开始下面的powershell脚本中,但是如果使用batch file我可以更容易地做到这一点,我只是试图避免添加像blat发送电子邮件,也不知道如何以获得任务结果在批处理脚本,这是我需要发送的电子邮件。 下面的“IEX”是完整的命令,这是我需要填充UTC时间的一天,如果比从上次计划的任务运行得到时间更容易,那么这是最安全的select。 然后最后的“1 1”是供应商所要求的为上传添加选项的参数。 如何填充日志上传的当前date和时间? 如果是每天上午12:01(东部)到下午11:59(东部)这样的时间,那应该没问题? # "iex" is an alias for the invoke-expression cmd iex c:\path_to_exe\myprog.exe -a 1379300570 1379300570 1 1 # $? lets us know if the previous command was successful or not # $LASTEXITCODE gives us the exit code of the last Win32 exe execution […]
设置脚本来监视和报告服务器到Internet的连接的最佳方法是什么? 我不是指连接到本地networking,而是指服务器(或整个networking)访问互联网的能力,以防ISP连接断开的情况。 这将需要一个脚本,全天候testing互联网连接并logging结果(或可能只是在出现中断时logging日志),然后以其他方式读取这些日志并生成报告,显示各种状态(多less时间是ISP连接脱机等)。 这只是简单的ping各种stream行的URL(google.com,amazon.com等),并将其用作testing来确定您是否可以访问互联网? 还是有更好的方法? 这样做的目的主要是logging我们的互联网服务供应商让我们失败的时间,所以我们可以向他们展示他们,他们可以用它来解决问题或使用日志作为我的老板用来交换互联网服务提供商的杠杆。
我有一个Postfix服务器,并使用它与Outlook(POP / SMTP)。 我有一个帐户不同的发件人地址。 现在我想为特定的发件人地址configuration一个中继。 例如,我有我的主域domain1.com的后缀。 现在我有一个发件人地址是domain2.com。 对于该发件人地址,我希望该后缀将邮件中继到第二个SMTP服务器。 我认为这应该是没有问题的。 但问题是我必须创build一个SSH隧道到第二个服务器连接到SMTP服务器。 但是我不能使用一个持久的SSH连接,所以我想知道在将邮件转发到第二个SMTP服务器之前,postfix是否可能执行一些脚本。 我已经find了一些在收发邮件时执行脚本的信息,但是我只想在postfix将邮件转发到第二个SMTP服务器之前build立SSH隧道。
我想使用GnuPG解密存储在远程主机(运行Linux)上的短消息,即: ssh [<user>@]<host> gpg -d <file-to-decrypt> 与gpg-agent进行交互和/或只input密码 closuresSSH连接 但以更自动化的方式。 我只是想input一个单一的命令,脚本应该做的其余(密码(交互)input除外),即: remote-gpg [<user>@]<host> <file-to-decrypt> [查询密码而不用明文回显] [在stdout上转储解密的文本]并closuresSSH连接 我的主要挑战是合并“ssh”和“gpg”步骤。 我正在寻找一种简单有效的方法来实现这一点: 对客户端的依赖性很小(理想情况下,只是ssh +核心实用程序) 而不会在服务器端的套接字和pipe道上搞乱 没有关于gpg-agent是否在服务器上运行的假设 所以,编写一个GNU expect脚本等解决scheme是没有问题的。 动机 :一个典型的用例是使用手机(运行Android)从远程服务器获取encryption的消息(例如密码)。 希望在信息传送时closures连接,因为在电话丢失/被盗之前,您可能会忘记注销,并且在没有猜测密码(因为每次都查询密码)的情况下,窃贼无法获取更多信息。 最后,从服务器的authorized_keys文件中删除手机的SSH密钥是防止安全漏洞所需要的。 顺便说一句,用这种方法会有什么额外的安全风险(与4步手动过程相比)?
我写了一个小脚本来确定每小时的平均IOP,在此之后,我手动将其转换为graphics和电子表格,供pipe理人员讨论即将进行的扩展项目的SAN升级。 运行的系统当前是运行RHEL 6的物理机器。 我有脚本安排在根的crontab如下所示: 0 * * * * /bin/bash /IOPsLogs/IOPs.sh >> /var/log/cronjobIOPs.log 2>&1 我的脚本IOPs.sh看起来像: #!/bin/bash date >> /var/log/cronjobIOPs.log date +"%Y-%m-%d–%H:00" >> /IOPsLogs/Daily$(date +%Y-%m-%d).log timeout -sHUP 60m iostat -x 1 | grep sda -B 1 >> /IOPsLogs/IOPs_$(date +%Y-%m-%d–%H:00).log grep "sda" /IOPsLogs/IOPs_$(date +%Y-%m-%d–%H:00 -d "1 hour ago").log | awk '{sum+=$4} END { print "Average IOPs read'/'sec= […]
有没有办法从bash脚本中的函数获得标准输出和标准错误? 这就是我想用我的脚本完成的“我以为”: #!/bin/bash LOGS="tmp/sync.log" function1() { echo " " echo "beginning function 1" echo " " for-loop-that-will-run-a-command } function2() { echo " " echo "beginning function 2" echo " " for-loop-that-will-run-a-command } function1 2>&1 "$LOGS" && function2 2>&1 "$LOGS" || cat "$LOGS" | mailx -s "Here are the logs" [email protected] 布我没有得到任何东西,什么是最高效+优雅的方式来实现这一目标?
我目前使用这个简单的batch file来将图像部署到我们的工作站: ECHO HALLO y: cd \ diskpart /s diskpartcmds.txt imagex.exe /apply y:\image.wim 1 c: bootsect /nt52 c: (Y:是一个安装的networking共享,dispkatcmds.txt是 select disk 0 clean create partition primary select partition 1 active format quick assign letter=c exit ) 这个工作非常好,在WinPE通过PXE引导并显示进度之后,它在控制台窗口中运行。 我只想有一个很好的graphics用户界面(只显示任务和进度,没有交互!),而不是控制台,而图像是用进度条部署的。 有人有东西吗? 有没有一个完整的.NET包装(我可以使用单声道安装在Y :!)的ImageX? 不幸的是,只有一篇关于imagex.dll的文章http://www.codeproject.com/KB/vista/wimgapi.aspx 对不起发表这样一个自私的懒惰的问题,关于纯粹的化妆品,如果我有很多时间,我可能会写),但我可以尝试,也许有人从这个问题有关imagex的学习?
我们有一个应用程序从文件中获取设置参数。 我想从启动string中提取一个或两个语句,并将它们呈现为一个不错的表格。 一个示例string将是-Dmysql.host = mysql1.company.com,但它也可能是一个ip地址或一个机器名称,而不是一个fqdn。 我想find-Dmysql.host =但返回服务器名称。 有关如何在文件中findstring“-Dmysql.host =”的任何提示或指示符,都会显示给下一个空格的所有内容。 也许有更好的方法。 我打算在十几台机器上运行它,最终返回一个列表,哪个应用程序机器被configuration为与哪个数据库机器对话。 谢谢你的时间。