Articles of 脚本

logging到一个文件,预先在每行(Debian)上添加一个时间戳

我正在尝试将我的一些shell脚本的输出logging到一个文件中,并且我希望每行预置的时间戳。 从我所了解的情况来看,这就是logger(1)的logger(1) ,但我不希望输出到/ var / log / messages,而且我也看不出使用logger的可能性。 我正在使用Debian。 做这个的最好方式是什么? -Oliver

邮件到达邮件服务器时如何运行脚本? (Debian的)

我想parsing并插入刚刚到达关键任务应用程序邮件服务器的邮件中的一些信息。 我有什么办法来configuration我的邮件服务器,以便邮件到达时运行脚本。 虽然我有一个debian系统,但任何通用的解决scheme(Linux)将做。

简单的nagios脚本失败

以下if-then-else有什么问题? 我从来没有打过别的。 if [ $result > $value ]; then echo HEALTH: OK. Result is $result Value is $value exit 0 else echo HEALTH: CRITICAL. Result is $result which is over $value exit 2 fi # ./check_cw_auto <AWS variables> 5.0 HEALTH: OK. Result is 275593.8 Value is 5.0 # ./check_cw_auto <AWS variables> 10000000.0 HEALTH: OK. Result […]

ssh-agent行为的差异

这似乎是我有两个帐户我configuration的ssh代理行为之间的差异。 我写了一个简单的监控脚本来检查我们运行的一些虚拟机的可用性。 我用我的主要访问帐户做了所有的testing和debugging。 在此过程中,我生成了一个SSH密钥对,启动了ssh-agent,并将该身份添加到代理以允许脚本无需密码即可ssh。 现在,我想运行这个脚本作为服务帐户用户。 我创build了服务帐户,并生成密钥临时将loginshell设置为/ bin / bash。 我生成了我的密钥,删除了密码,并将身份添加到代理。 这种差异似乎与shell连接到代理的方式有关。 在我的用户帐户中,自从我开始testing(大约两周)以来,我不必重新启动代理。 但是,当我尝试运行服务帐户下的脚本时,我似乎不得不重新启动代理,每次添加标识,然后执行该工作。 理想情况下,我希望代理无限期地运行,并在脚本运行时自动重新连接服务帐户,这样我就不需要在脚本中pipe理进程。 我查看了每个帐户的configuration,找不到任何区别。 任何有识之士将不胜感激。 **编辑:我忘了指出,代理不断运行,但服务帐户的shell进程似乎并没有利用它,一个新的必须开始: ovmmon 14043 0.0 0.0 53916 204 ? Ss May17 0:00 ssh-agent ovmmon 14952 0.0 0.0 53916 204 ? Ss May17 0:00 ssh-agent

在许多机器上将所有网卡更改为自动/自动

由于networking设备的变化,我可能需要设置一堆机器网卡来自动协商。 什么是自动化这个最好的方法? 我正在考虑通过组策略或SCCM推出的Autoit编译的exe。 如果您有示例,请发布您的脚本。 我不确定所有我打的系统将有相同的网卡,所以将所有已知的卡重新设置为自动将是很好的。 谢谢! -Mathew

通过脚本或batch file远程安装程序

首先,我不能使用组策略,因为我们的团队不pipe理。 该公司是一个庞大的富时公司,拥有一支可以想到的IT各个方面的团队。 我们的团队需要通过批量文件或使用Windows Installer和.msi文件的脚本来远程安装程序。 到目前为止,我已经设法使用psexec来安装Java(见下文) psexec \\pcname -u *username* -p *password* -i msiexec.exe /a "msilocation\install.msi" 这工作没有任何问题。 不过,我想要一些比这更自动的东西。 然而,我想要做的是能够从我的机器上运行脚本或batch file,它将在所有列出的远程工作站上安装msi。 我很确定你可以在batch file中列出工作站,但我也许是错的。 如果我不得不在脚本或batch file中进行修复,那么我就不要慌张了。 我只是不能使用组策略等

自动化SQL Server 2008备份脚本无法运行

我已经创build了一个维护计划,但是当我尝试执行我得到的错误: Message [298] SQLServer Error: 15404, Could not obtain information about Windows NT group/user 'XX\Administrator', error code 0x534. [SQLSTATE 42000] (ConnIsLoginSysAdmin) 我已经给了pipe理员数据库所有者访问,但仍然得到错误,我做错了什么?

echo $? 在远程执行时不起作用

当我执行一个命令如下,它给我一个预期的输出,但是当我在远程服务器上运行相同的命令,它总是给我echo $? 为0 。 locally # <some command> # echo $? Remotely # ssh server " <some command >; echo $? " 现在在远程执行的情况下,我总是得到0作为echo $? 输出。

Powershell:单个脚本来“清理”比

我想创build一个维护脚本,在我们的每台服务器上运行,以清除常见的drop / archive目录。 优选地,脚本将使用文件夹path的参考文件和期望的老化限制。 然后,脚本会清理比老化限制更早的文件path。 input引用文件看起来像这样: c:\logs\iis\siteA\ 30 c:\logs\job1\ 60 e:\archive\clientA\ 90 第一个组件是文件path; 第二个是文件应保留的天数,用空格分隔。 现在为脚本我有以下; 然而,我的脚本经验令人尴尬。 (我更关注networking) #Attempted loop Foreach ($ParentDir = Get-Content .\paths.txt $arg1, $arg2) {$limit = (Get-Date).AddDays(-$arg2) $path = $ParentDir # Delete files older than the $limit. Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item […]

PowerShell提示继续执行代码

我有一个脚本用于自动化WSUS进程,最后一个阶段继续删除所有旧的/不必要的文件/对象。 我想在清理阶段之前提示'按'input'继续清除或任何其他键停止',以使人们不能运行它。 我现在在脚本末尾的代码在这里: Get-WsusServer 10.1.1.25 -PortNumber 8530 | Get-WsusUpdate -Classification All -Approval Unapproved -Status FailedOrNeeded | Approve-WsusUpdate -Action Install -Target $ComputerTarget -Verbose Write-Host "Updates have been approved!" Write-Host "Preparing to clean WSUS Server of obsolete computers, updates, and content files." #Part2 – WSUS Server Cleanup ##Run Cleanup Command Get-WsusServer $WSUS_Server -PortNumber $PortNumber | Invoke-WsusServerCleanup -CleanupObsoleteComputers […]