我想logging所有通过SSH执行的命令。 说, ssh [email protected] COMMAND 我想在server.com上login“COMMAND” 我做了广泛的search,但找不到任何东西。 还有一个类似的问题,但我不认为那里有一个解决scheme。 如何logging“通过SSH远程执行” 我可以得到一个实时的看法 pstree -p | grep ssh 我尝试过使用史努比,审计和sudosh,但不能通过SSHlogging这些命令。 有一个http://freecode.com/projects/shwatchr 。 但我无法下载脚本来testing。 有没有其他办法可以做到这一点? 谢谢………
所以这里是这个目录中可用模块的列表。 正如你可以看到DnsShell在那里。 PS C:\windows\system32> Get-Module -ListAvailable 目录:C:\ windows \ system32 \ WindowsPowerShell \ v1.0 \ Modules ModuleType Name ExportedCommands ———- —- —————- Manifest ActiveDirectory {Get-ADRootDSE, New-ADObject, Rename- ADObject, Move-ADObject…} Manifest AppLocker {Set-AppLockerPolicy, Get-AppLockerPolicy, Test-AppLockerPolicy, Get-AppLo… Manifest BitsTransfer {Add-BitsFile, Remove-BitsTransfer, Complete-BitsTransfer, Get-BitsTransfe… Manifest CimCmdlets {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance, Get-CimSession…} Binary DnsShell Script ISE {New-IseSnippet, Import-IseSnippet, Get- IseSnippet} […]
我正试图从文本文件中删除特定的行。 文本文件只是一个列表,我想删除特定的条目,如果他们存在。 所以我有这个: $f=${path_to_file} for($i = 0; $i -le $f.length; $i++) { if ($f[$i] -eq "text_to_be_deleted") { $f[$i]=$null } } ${path_to_file}=$f 问题是,这是从文本文件中删除所有回车。 我尝试了以下内容: (type path_to_file) -notmatch "text_to_be_deleted" | out-file path_to_file 该命令的问题是我可能有一个string,如“abc”,“abcd”或“abcde”。 如果我在引号中有“abc”,它会删除任何包含“abc”的行,而不仅仅是一个完全匹配。我真的吮吸正则expression式,所以我不知道如何指定一个正确的string。 任何build议如何做到这一点?
我运行脚本来每小时处理一个CSV文件。 在脚本开始时,如果CSV文件没有改变,我需要退出。 假设文件时间戳不是一个选项。 (我问这个问题的教育价值) 我正在考虑在整个文件中混淆并计算内容上的散列,如下所示: $fileData = get-content \path\to\file $hashCode = $fileData.GetHashCode() 然后我会保存这些内容从运行到运行,如果后续运行中的散列相同,则退出我的脚本。 有没有更好的方法来做到这一点,假设文件时间戳不可用?
在/bin/sh和/bin/bash (我想还有很多其他的shell),用#!/bin/sh -e启动脚本(或者在脚本的某个位置执行set -e )会导致脚本中止当脚本中的任何命令行退出时,状态码不是0。 是否有任何等效或解决方法来获得相同的行为在Perl脚本? (即,如果任何指令产生错误,或者如果使用system(…)执行的任何外部命令或反引号返回错误代码,则立即退出)
我想configurationbash页面的所有命令的输出。 基本上,我希望bash的行为就像我input的每个命令都以'|结束 减'。 这可能吗?
我正在清理CentOS服务器(MediaTemple DV)上的一些旧网站,并在做ls -lha时偶然发现了这个: http : ls -lha 替代文字http://img.skitch.com/20100119-cdgske12wthd63q4adk1uumr1e.jpg 所有的文件名都在闪烁,我不能用rm -f删除任何文件 这是什么意思? 驱动器/磁盘问题?
我有一个由第三方软件生成的文本文件,作为构build过程的一部分。 我想replace一个特定的行 – 在我的情况下,第6行。我怎么能在我的bash脚本中做到这一点? 我怀疑sed是我的朋友,但我现在很难过。 如果这很重要,我正在使用Mac OS X 10.6。
我有一个脚本,写在bash中,从cron运行。 它所做的第一件事情之一是SSH到远程主机,并检索目录中的文件列表。 从命令行运行时一切正常,但不是从cron运行。 脚本部分最初看起来像这样: FILES=$($SSH_BINARY -i $SSH_KEY $SSH_USER@$REMOTE_HOST "ls $REMOTE_DIRECTORY") echo "Got files = $FILES" 我在该行上面添加了一个echo语句(如下所示)来certificate它不是path或variables问题: echo "$SSH_BINARY -i $SSH_KEY $SSH_USER@$REMOTE_HOST \"ls $REMOTE_DIRECTORY\"" 如果我把结果输出行并作为相同的用户cron将(根)运行,它没有问题。 认为它可能与分配给variables有关,我修改了FILES =行来读取(因此,把输出直接放到我的last_run_output文件中): $SSH_BINARY -vv -i $SSH_KEY $SSH_USER@$REMOTE_HOST "ls $REMOTE_DIRECTORY" cron条目如下所示: 34 * * * * /root/path/to/my/script/get_logs.sh > /root/path/to/last_run_output 2>&1 所以,除了PATH,variables赋值和权限问题之外,我开始在ssh中使用debugging标志。 我从命令行运行一次,然后从cron运行,并比较输出。 以下是差异中的一些亮点: 侧面是不成功的尝试,+侧面是成功的尝试,在cron之外运行。 @@ -87,9 +77,7 @@ debug1: Remote: X11 forwarding […]
rsync可以通过以下选项与传统mv非常类似,优于传统文件夹: rsync -axvvES –remove-source-files source_directory /destination/ 然而,我似乎无法做到的一件事是删除原来的目录。 –remove-source-files标志就是这样做的,除去源文件,而不是源目录。 我希望有一个–remove-source-directories标志,但是没有。 我该如何处理? 我想我可以在移动之后发出一个rm -fr ,但是我宁愿将这个过程全部保存在一个进程中,而不是引入潜在的错误。