Articles of 命令行界面

如何让ESXi 5.5仅从ssh / CLI自动启动虚拟机?

我必须通过SSH访问ESXi服务器。 我无法使用vCenter或Web界面 Vmware提供了一篇文章: kb.vmware.com – 确定虚拟机是否configuration为自动启动(1000163) 但本文的内容似乎与我的ESXi服务器根本不相关。 有问题的文件是在那里,但并不是所有的行都显示为文件说明它应该。 VMware说明: Log in as root to your ESX host with SSH. Open the /etc/vmware/hostd/vmAutoStart.xml file in text editor. Search the file for the entry: <enabled>true</enabled> Note: If you find this entry, the autostart functionality is enabled. If you do not find this entry, the functionality is disabled. […]

在多个主机上并行执行不同的命令

我正在寻找一个工具来运行一系列命令,如现有的工具: parallel -h parallel [OPTIONS] command — arguments for each argument, run command with argument, in parallel parallel [OPTIONS] — commands run specified commands in parallel 但是我希望这些命令可以在多台计算机上通过ssh运行,并且可以使用pssh或pdsh的许多优点与许多主机进行通信。 我已经破解了一些有用的东西 ,但是与这些工具相比,ssh处理没有任何意义 – 我无法阻止它们,甚至看不到它们的所有输出。 更好的是,如果该工具有一些基本的负载平衡,但我想我会使用一个单独的工具来select主机。 (一个查询负载,内存的好工具,如果一台计算机在交互式使用也将不胜感激,但我已经写了一些东西,足以让主机select。)这不是在一个集群,我不'除了sshd以外,还要依赖守护进程,或者要求pipe理员安装像Condor这样严肃的集群作业调度程序。 我没有任何这些计算机的根访问权限。 编辑:为了强调,我想在每个主机上运行不同的命令 – 通常使用不同的参数运行相同的程序,就像上面的第一个parallel使用示例一样。

bash选项卡完成只适用于root

我build立了一个Ubuntu 12服务器(使用他们的预configuration映像在机架空间云上),并创build了一个非root用户。 当我以标准用户身份login时,在terminal按[TAB]输出一个实际的标签,按[UP]输出^ [[A。 如果我以root身份login,[UP]input最后一个命令,[TAB]自动完成。 两个用户的.bashrc文件看起来完全一样。 我真的不知道在哪里看。

如何从命令行检索当前的Windows NLAnetworking位置?

我们有一个Windows Server 2008 R2域控制器, 总是在重新启动后将其NLA位置设置为“networking3”。 没有失败,这默认为公共,这与我的域configuration文件防火墙设置螺钉。 我必须手动禁用并重新启用networking适配器,才能将其自身恢复到域configuration文件。 我已经尝试了KB2524478和其他一些东西。 现在我已经厌倦了试图解决这个问题(而且很快就没有时间了),所以只是想解决这个问题。 我正在考虑使用netsh编写禁用/启用脚本,并使用它来完成,但我想更进一步,并确保NLA位置实际上是“networking3”而不是“the-domain.example.org “(更具体地说,只是检查它不是域)在我做之前。 这样,我可以更频繁地安排它,而不仅仅是在启动时。 我只是错过了一个这个难题 – 如何检索位置使用我可以pipe道findFIND /i "the-domain.example.org" ,所以我可以运行它为: <something> | … FIND /i "the-domain.example.org" || … NETSH interface set interface name="Local Area Connection" admin=DISABLED & … NETSH interface set interface name="Local Area Connection" admin=ENABLED 那么什么是<something> ?

自动closuresnetcat连接

我从脚本执行以下命令: echo '{"hostUp": true}' | sudo /usr/local/bin/netcat localhost 8001 但是,netcat客户端将无限期地保持打开状态。 一旦这个数据被发送,我怎样才能closures连接?

在bash中获得更多有用的选项卡完成提示?

比方说,我有一个目录中有几个文件就像这样: $ ls file1 file2 file3 而我想在bash中做一些tab完成: $ cat file<tab> file1 file2 file3 我记得看到有人正在完成制表符,并且shell将下一个部分粗体显示,所以在这种情况下,它会加粗文件名的2和3 ,所以它看起来像这样:file 1 file 2 file 3 这将告诉你你应该input什么。 我认为这是zsh一个function,但有什么办法让它在bash ?

Netcat命令行问题

我正试图从使用netcat的memcached服务器收集统计信息。 ~ $nc 10.251.170.80 11211 stats STAT pid 27508 STAT uptime 7940345 STAT time 1262949310 STAT version 1.2.4 STAT pointer_size 64 STAT rusage_user 1389.962693 STAT rusage_system 4857.247586 STAT curr_items 9154565 STAT total_items 615722800 STAT bytes 1994844049 STAT curr_connections 62 STAT total_connections 6263004 STAT connection_structures 148 STAT cmd_get 1925983531 STAT cmd_set 615722800 STAT get_hits 1334407705 STAT […]

你如何设置PHP的CLI组件的最大执行时间?

你如何设置PHP的CLI组件的最大执行时间? 我有一个进入无限循环的CLI脚本,我不知道如何在不重新启动的情况下杀死它。 我用quicksilver启动它,所以我不能在命令行上按Ctrl + C。 我尝试运行ps -A (显示所有进程),但是php没有显示在列表中,所以也许已经超时了 – 但是如何手动设置时间限制? 我试图find关于应该在哪里设置max_execution_time设置的信息,我习惯将此设置为使用apache运行的PHP版本,但我不知道应该将其设置为位于/usr/bin的PHP版本/usr/bin 。 我确实看到了下面的引用,看起来是准确的(见下面的截图),但是执行时间不受限制似乎不是一个好主意。 请记住,对于CLI SAPI,max_execution_time被硬编码为0.所以它似乎被ini_set或set_time_limit更改,但实际上它不是。 我发现这个奇怪的决定的唯一参考是深入bugtracker( http://bugs.php.net/37306 )和php.ini(“max_execution_time”指令的注释)。 (通过http://php.net/manual/en/function.set-time-limit.php ) ini_set('max_execution_time')没有效果。 我也试过同样的事情,并用set_time_limit(7)得到相同的结果。 更新 所以似乎有三种方法来实现这一点: 在脚本中: 参数或者set_time_limit(10); // 这条路 ini_set('max_execution_time',10); //或者这样 或者在调用脚本时: php -d max_execution_time = 5 script.php 要回答我关于php.ini文件将从何处加载的问题,如果存在的话,那将来自/etc/php.ini 。 该文件还需要运行php脚本的用户可读,所以如果它是由root创build的,并且用户不能“读取”它,这意味着php可能无法“读取”它。 但是,似乎在/etc/php.ini设置的任何max_execution_time实际上都不会影响CLI脚本 – 即使正确加载了文件(使用phpinfo()查找) – 所以您必须使用其他方法之一上文提到的。 关于使用睡眠循环来testing这一点,我了解到,它不会工作。 set_time_limit()函数和configuration指令max_execution_time只影响脚本本身的执行时间。 在确定脚本运行的最长时间时,不包括使用system(),sleep()函数,数据库查询等在脚本执行之外发生的任何活动,如系统调用 检查出一个非常类似的问题上堆栈溢出问: https : //stackoverflow.com/questions/5874950/set-max-execution-time-in-php-cli

为什么Windows命令提示符暂停,直到执行长batch file或程序时按下某个键

我刚刚有两个Windows 7发生拖延执行,直到我命令提示符/ PowerShell的命令进入。 之后似乎执行得如预期。 首先是复制命令的batch file copy //host/file2010-1*xml localfolder/01/ copy //host/file 2010-2*xml localfolder/02/ 一个文件似乎要花费很长时间。 我检查了这个文件夹,这个文件夹已经完成了,按下回车键后,突然间又重新开始了生活。 其次是powershell中的java程序(一个ETL作业),因为它正要输出SQL重复键警告。 我不能确定,如果实际执行停滞,但我不怀疑。 我刚刚重复这个,因为我打字。 而且我更有经验的同事看到他写的.net程序也是一样的。 我怎样才能避免这一点? 我错过了什么? Windows是否会变得孤独,需要轻轻一推?

如何从命令行的whois microsoft.com?

如果你是“whois microsoft.com”,那么你会从恶作剧中得到一大堆列表,他们认为把“microsoft.com”放在他们的子域名中可能会搞砸这个列表。 输出指示: 要选出一条logging,请用“xxx”查找它,其中xxx是上面显示的logging之一。 如果logging相同,则使用“= xxx”查找它们以获得每个logging的完整显示。 但据我所知,这不起作用。 david:~$ whois '"microsoft.com"' whois: com".whois-servers.net: nodename nor servname provided, or not known david:~$ whois =microsoft.com (…blah, blah, blah…) No match for =MICROSOFT.COM david:~$ whois '"=microsoft.com"' whois: com".whois-servers.net: nodename nor servname provided, or not known 你是怎么做到的? 我知道我可以去一个网站查找,但这不是重点。