我有一个bash脚本,通过CRON运行许多命令/工具,如convert或pdftk。 经常发生的情况是,例如pdftk变得“陈旧”或“挂起”,调用脚本停止前进。 是否有一个简单的方法在bash脚本中(通过陷阱?)设置执行的时间限制或检测不活动(通过定义)为特定的电话?
我把一个服务器的网站移到另一个服务器时犯了一个可怕的错误。 我们使用virtualmin在新服务器中创build了虚拟主机。 但是,当从旧服务器恢复文件到新服务器,我错误地复制“/ home / VIRTUALHOSTS-NAME /”中的所有文件,而不是“/ home / VIRTUALHOSTS-NAME / public_html”。 现在,我必须将所有文件从虚拟主机的主目录移动到public_html目录,除了像fcgi-bin,public_html,awstats,cgi-bin这样的几个默认文件夹,可以通过shell脚本或任何带pipe道的命令?
有没有人写过自我监视脚本,可以分享它的解决方式? 我有一个路由器上的DD-WRT,并且只能创build一个启动脚本。 问题是不能运行。 如果我通过telnetlogin并手动启动,那么效果很好。 所以我需要添加一个cron规则来运行它,但是不能多运行一次。 我正在考虑使用: if [`ps | grep [c]ustom.sh` -gt 1]; then exit; else … fi 你知道还有其他的方法吗?
如何使用脚本更改Windows服务器的主机名? 在Linux服务器上执行这个操作非常简单(更改几个文件条目并运行hostname命令),但是我不知道如何自动更改Windows上的主机名。 具体来说,我正在寻找一种方法来做到这一点在Windows 2008 R2,但一个通用的方法也将是伟大的。 我发现这个技术为XP,但没有尝试过在2K8机器 – 它仍然有效? 整个上下文能够在不使用自定义规范的情况下,从VMware模板更改部署后的服务器名称。
我有一个由dfs复制的大文件夹,我想检查所有文件是否已被正确复制。 目前我在两端运行以下脚本。 cd e:\data\shared\ dir /a:-h /b /s > e:\data\shared\result.txt 然后使用文本编辑器整理文件,然后使用diff工具对其进行比较。 有没有人知道这样做的更好方法? 失败,没有人知道如何适应我的脚本忽略DfsrPrivate文件夹中的所有文件
假设我们在Linux shell中运行两个程序,如下所示: who -r; date 我应该添加什么来获得一个线路输出?
我在/etc/cron.d中有以下脚本: 19 15 * * * root /opt/scripts/clean-nexus-release-repo.sh clean-nexus-release-repo.sh脚本如下所示: #!/bin/bash find /opt/sonatype-work/nexus/storage/releases/se/company* -regextype posix-extended -depth -regex '.*/r?[0-9]{5,7}[a-Z0-9_.-]*\.[0-9]{1,3}' -mtime +60 -type d -print -exec rm -r {} \; find /opt/sonatype-work/nexus/storage/releases/nu/company -regextype posix-extended -depth -regex '.*/r?[0-9]{5,7}[a-Z0-9_.-]*\.[0-9]{1,3}' -mtime +60 -type d -print -exec rm -r {} \; 当我从我的shell运行clean-nexus-release-repo.sh脚本时,一切正常。 当它运行通过cron我得到以下输出: find: Invalid range end find: Invalid range end 这是我在将[a-Z0-9_.-]正则expression式中的连字符移动到无效位置时得到的错误。 […]
作为我为客户工作的任务的一部分,我需要对企业login脚本进行一些修改。 Windows的命令行绝对不是我的专业领域,但我对大部分的事情都行。 但是,我有一个问题,我不知道该怎么做。 基本上,我需要将机器的默认网关的IP地址变成一个环境variables(稍后在脚本中使用)。 我知道它存在于ipconfig和tracert的输出中,我知道如何在他们的输出中find我需要的确切的一行,但是我不知道如何超越这个。 例如,下面的命令产生这样的输出: >ipconfig|Find "Default Gateway"|Findstr/N "."|Findstr/B "1:" 1: Default Gateway . . . . . . . . . : 199.99.9.1 但是现在我需要以某种方式从这个文本行中只提取IP地址,然后将其分配给一个环境variables。 那么,我怎样才能从Windows命令行来做到这一点呢? (Windows XP和更高版本)。
我试图不logging从一个特定的IP地址,如下所示的请求: location = / { index index.php; if ( $remote_addr = "spe.ci.fic.ip" ) { access_log off; } } 但它不起作用,为什么?
我正在开发一个用于监视状态的脚本,这样我就可以向NagiOS NSCA服务器发送OK状态消息(被动检查)。 我遇到的问题是我的bash脚本仍然发送消息,如果脚本grep函数不包括任何将触发消息发送。 脚本: variables rsysl='rsyslog' log='messages' variables中的命令 host=$(hostname) monstat=$(monit status|grep -C 1 '$rsysl') nsca_status=$(echo -e "$host\t$rsysl\t0\tOK" | /usr/sbin/send_nsca -H mon.lv.lan -c /etc/send_nsca.cfg) 监视状态命令 # Postfix check $monstat 消息发送function,你可以看到它只应发送消息时, 状态等于没有运行 , 不可访问 if [ "status" == "not running" ] && [ "status" == "not accessible" ]; then $nsca_status else : fi grep输出(在实际情况下,消息发送命令必须匹配运行和可访问 : # monit […]