Articles of shell

如果失败,如何重新运行PowerShell cmdlet的一行

我写了一个应该自动发送电子邮件的PowerShell脚本,但是有时候由于networking问题邮件不会发送出去。 以下是我如何发送电子邮件: $smtp_notification.Send($mail_notification) 这里是错误日志: Exception calling "Send" with "1" argument(s): "Failure sending mail." At line:1 char:24 + $smtp_notification.Send <<<< ($mail_notification) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException 遇到这种故障时,是否有重新运行发送线? 任何人都可以给我一些build议吗?

为了bash脚本在du-sk上剥离“额外空间”?

我正在尝试使用du -sk来获取两个文件夹的大小 dirsize_temp=`du -sk /folder/path/here` 然后用一个if语句来比较大小。 唯一的问题是,当你运行命令时,它会返回类似的东西 123456 /folder/path/here 我目前正在使用 dirsize=${dirsize_temp%%/*} 去除“ /folder/path/here ”部分,但我有问题摆脱空间。 他们似乎并不是实际的空间,所以“ ${dirsize//\ /} ”或“ ${dirsize// /} ”无法将其删除,但仍然使我无法比较两个variables。 有没有一些转义字符,我缺less,或更容易的方法来获得两个文件夹的大小没有额外的东西钉在最后?

sedreplaceshell文件里面

我有一个shell文件,需要在php文件中执行一些文本的replace。 需要更换的线路是: $database = $db."_db"; 实际的sed命令需要包含一个variables,所以不知道我应该逃避什么,在哪里? #!/bin/sh sed -is/$db."db"/$DATABASE/ mysql_connect.php 谢谢。

在linux的Rackspace实例中有些可疑的用户,我可以禁用内置的系统用户吗?

我刚刚在机架空间提出了一个Ubunt 12.04实例,并且我有一些我想知道的用户: 我看到在Ubuntu 12.04服务器上的几个用户,我似乎并不需要shell访问:游戏,人,lp,新闻,irc。 这些用户/服务需要shell访问吗? 我可以禁用它们吗? 我只是偏执,因为我的一台服务器被黑了,我只是想确保这一次一切都清洁。 谢谢,

将networking速度改为1000Mb / s

我试图将服务器上行链路从100Mb / s更改为1000Mb / s ethtool eth0输出 # ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: No Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: off […]

调度cronjob的解决scheme

我build立了一个cron的列表,一些cron脚本需要很长时间才能运行(比如1-5个小时,而且每天都在增加)。 我不想同时运行两个cron脚本,因为我没有资源或需要它。 我需要find一个解决scheme,以便计划的脚本不会启动,直到其他脚本完成。 我有10-15克朗的工作,我不想重叠其中的5个。 有没有人有什么build议,我应该更密切地寻求达到我的目标?

使一个用户帐户专用于centos中的单个脚本

我正在为我的盒子上的某个人做一个SSHlogin。 但是当他们login时,我希望它自动加载一个perl脚本,并且只能大声地看到/使用perl脚本。 我只知道如何使用useradd命令,我不知道如何设置烫发等。 我不知道如何更详细地解释这一点。 但任何帮助将是aswsome!

在shell脚本中跳过空格

yesterday="2010-06-23 00:00:00" today="2010-06-24 00:00:00" mywhere="lastupdate>'$yesterday' and lastupdate<'$today'" mysqldump $param ticket –no-create-info –where=\"$mywhere\" 上面的shell脚本的最后一行会返回像这样的… + mysqldump -uroot -d –compact ahmadpur ticket –no-create-info –where="lastupdate>'2010-06-23 00:00:00' and lastupdate<'2010-06-24 00:00:00'" mysqldump: Couldn't find table: "00:00:00'" mysqldump命令执行中有一个错误。 但是,如果我复制粘贴相同的行,它运行成功。 我是否需要转义shell脚本输出中的空格? 如果是的话,怎么样?

SSH直接从std和客户端stdin和stout

我的本地可以连接到远程,但无法连接到dbserver。 远程可以连接到dbserver(使用psql)。 我想从我的本地运行SQL脚本对数据库。 我正在寻找一种方法来在远程打开一个psql,并指定我的标准input和标准输出到我的本地与SSH。 现在在愚蠢的选项我这样做: ssh remote psql -h db report password run my commands 我可以用这种方式在脚本中完成它,但是它的丑陋和dosnt允许我与psql进行交互式会话。 PSQL="PGPASSWORD=mypassword psql -h dbserver -d report" SQL="SELECT 1" ssh remote "$PSQL –command 'COPY ($SQL) TO STDOUT WITH CSV;'" Ps- Python也行。

如何防止用户在Linux上提供写权限的同时重命名文件

对于某些特殊用途,我想阻止Linux服务器的非root用户更改/重命名文件名。 但是,他们可以修改和写入文件的内容。 如何从命令行执行此操作。