我正在尝试在IBMi (v7.1)上的PASE中安装rvm,但是由于它声明bash版本3.2.25是必需的,所以它失败了。 通过CALL QP2TERM运行bash –version我正在运行以下版本: GNU bash, version 3.00.16(1)-release (powerpc-ibm-aix5.1) Copyright (C) 2004 Free Software Foundation, Inc. 任何人都知道是否有可能升级IBMi(又名iSeries)上的bash版本?
我设法在我的django项目上设置了fastcgi,问题是当我让mi程序停止时,服务器继续以某种方式运行,并且我的页面保持在线。 这是我的supervisord程序指令: [program:helloworld] command=/var/www/django-projects/helloworld/run 这是我的“运行”脚本: #!/bin/bash source /var/www/django-projects/helloworld/venv/bin/activate; /var/www/django-projects/helloworld/manage.py runfcgi \ daemonize=false \ host=127.0.0.1 \ port=8000; 所有我想要的是一个方法来停止/启动/使用supervisord重新启动这个django项目,希望你能帮助我。
我正在使用rsync从共享复制一些文件到另一个。 recursion地,我需要: 删除从原点删除的目标文件 只能同步php和js文件 排除其他所有文件types 不要删除目标上的.svn/目录 如果我使用这个: rsync -zavC –delete –include='*.php' –include='*.js' –exclude="*" \ /origiin /destination 然后rsync不recursion,因为exclude="*"排除所有文件,但也包括文件夹 如果我添加–include="*/"那么.svn/目录被删除(它也包含在内) 我怎样才能解决这个思维爆炸的困境? uname -a: Linux tux 3.9.2-1-ARCH#1 SMP PREEMPT Sat 5月11日20:31:08 CEST 2013 x86_64 GNU / Linux rsync版本: rsync 3.0.9-6 提前致谢
我们需要在less数几台服务器上运行pt-stalk来关注mySQL,每当服务器重新启动时我都会手动启动它。 一个小小的search引擎出现了一个pt-stalk的初始化脚本 ,它似乎工作得很好。 [我稍微修改过的版本包括在这篇文章的底部] 如何通过ssh来推送脚本和configuration需要很长的时间[长篇故事,请不要问]所以我决定只login到20多台服务器,手动设置一切,一切正常。 几天后,我的同事评论说,他正在收到电子邮件,但我显然不是,而且看起来我把错误的电子邮件放在configuration中。 这一次,我已经想出了如何通过SSH推动改变,并完成了一切: for server in `cat serverlist.txt`; do ssh -t $server sudo -i service pt-stalk restart done 这就是pt-stalk停止在每台服务器上工作的地方: 2013_08_23_11_43_20 Caught signal, exiting 2013_08_23_11_43_20 Exiting because OKTORUN is false 2013_08_23_11_43_20 /usr/bin/pt-stalk exit status 1 2013_08_23_11_43_22 Starting /usr/bin/pt-stalk –function=status –variable=Threads_connected –threshold=100 –match= –cycles=5 –interval=1 –iterations= –run-time=30 –sleep=300 –dest=/var/lib/pt-stalk –prefix= –[email protected] –log=/var/log/pt-stalk.log –pid=/var/run/pt-stalk.pid […]
我得到这个错误: *** glibc detected *** /usr/sbin/tshark: double free or corruption 而在做如下,有什么想法为什么? #!/bin/bash trap 'my_exit; exit' SIGINT SIGQUIT count=0 /usr/sbin/tshark -i bond1.1 -f "port 1111" -w /test/test_1.pcap > /dev/null 2>&1 & PID1=$! /usr/sbin/tshark -i bond1.6 -f "port 8080" -w /test/test_2.pcap > /dev/null 2>&1 & PID2=$! function my_exit() { kill $PID1 kill $PID2 } while : do […]
我有很多服务器,我部署各种二进制文件。 为此,我使用一个脚本将其打包归档,发布到本地存储库,然后ssh-es到目标服务器并安装。 现在我有一个如下所示的脚本: #!/bin/bash packs=(app1 app2 app3 great_app main_server and_so_on) for pack in ${packs[@]}; do cd "$pack" svn up make redist-package SERVER="$(cat ./server)" ssh "$SERVER" <<< "wget 'http://dev-server/$pack'; install './$pack'" # ssh uses keys to authenticate cd – &>/dev/null done 这里, install是一个解包install的特殊脚本,我们手工制作的小东西就emerge 。 我删除了所有错误检查,以避免脚本并发症。 现在的问题是:我必须使用bsign签署所有的二进制文件。 我想要一个用户input一次密码,然后将其传递给bsign 。 否则,为每个软件包分别input相同的密码是一种痛苦。 不幸的是, bsign没有能力,比如sudo -S从stdin读取密码。 所以…我尝试使用socat没有任何运气。 我从socat的手册中使用这一行,没有结果: socat – […]
我试图编写bash脚本文件从本地机器复制到FTP使用lftp 。 问题是,当有人input无法访问的mkdirpath或put ,则lftp返回: Access failed: 550 /: Device or resource busy 而我的Bash脚本卡住了,并没有终止。 如何在执行下一个命令之前检查是否可以访问资源? 这是我的代码的相关部分: OUTPUT=`lftp -u $USER,$PASS -p $PORT $HOST <<HEREDOCUMENT set ftp:ssl-allow no mkdir $FTP_DIR put $LOCAL_DIR/$LOCAL_FILE -o $FTP_DIR/$FTP_FILE bye HEREDOCUMENT`
对我来说真是奇怪,但这是问题所在。 如果我使用SNMP客户端(如ManageEngineMibBrowser)来查询设备,我会看到合理的数字: dpStatusMemoryStatusUsage.0 97 dpStatusMemoryStatusTotalMemory.0 33015552 dpStatusMemoryStatusUsedMemory.0 31928048 dpStatusMemoryStatusFreeMemory.0 1087504 dpStatusMemoryStatusReqMemory.0 4294967295 dpStatusMemoryStatusXG4Usage.0 4294967295 dpStatusMemoryStatusHoldMemory.0 4294967295 我如何certificate合理? 好简单的math表明,如果TotalMemory是3301552和UsedMemory是31928048那么用量的97%的百分比似乎是正确的(加上我双重检查与GUI 🙂 现在我在Linux上使用snmpget运行相同的命令,并获得以下内容(它们是OIDS,但顺序与上面相同): SNMPv2-SMI::enterprises.14685.3.1.5.1.0 = Gauge32: 36 SNMPv2-SMI::enterprises.14685.3.1.5.2.0 = Gauge32: 99197400 SNMPv2-SMI::enterprises.14685.3.1.5.3.0 = Gauge32: 36004164 SNMPv2-SMI::enterprises.14685.3.1.5.4.0 = Gauge32: 63193236 SNMPv2-SMI::enterprises.14685.3.1.5.5.0 = Gauge32: 4294967295 SNMPv2-SMI::enterprises.14685.3.1.5.6.0 = Gauge32: 4294967295 SNMPv2-SMI::enterprises.14685.3.1.5.7.0 = Gauge32: 4294967295 正如你所看到的,它们都是Gauge32的types,但是前4个值是完全不同的! 我需要做一些转换? 如果是这样,为什么前四个不同,最后三个不是同一types? 我真的很笨? 🙂
我正在尝试logging远程ssh命令的输出。 我目前正在使用 ssh USER@IP | tee -a ~/random.log 然后运行我需要在远程服务器上运行的命令,然后login到random.log。 我需要这个能够在后台运行,目前它退出时,我退出/closuresterminal。 我无法login远程服务器,因为它是一个可用空间非常小(> 800kb)的路由器。
背景 我试图为Subversion实现一些提交钩子。 我做了大量的研究尝试,并得到一个简单的testing钩工作,但我没有运气。 作为参考,我已经通过了,遵循,然后试图结合以下链接的方法: 1. 目录configuration的Subversion手册 2. 服务器端钩子脚本的Tortoisevn手册 3. 服务器端钩子的解释,包含Subversion手册的链接 4. pre-commit钩子的wordaligned教程 5.服务器故障回答提交钩子的问题 还有一些其他的网站,我已经引用和使用,但我仍然不能得到提交钩子的工作。 我的环境 我的机器正在运行RHEL6(Cent OS)。 Subversion位于远程机器上,我不能直接访问我的主pipe的权限。 远程机器正在运行Subversion 1.6。 这是我的存储库的当前结构: test-for-svn-hooks |-branches |-hooks | +-pre-commit |-tags +-trunk 预先提交的文件临时将其权限设置为777 。 所有目录都将其权限设置为775 。 这是我为了testing提交钩子而创build的示例脚本: #!/usr/bin/env bash echo "THOU SHALL NOT PASS" 1>&2 exit 1 我已经检查和testing了一切,以确保我的pre-commit钩子正常工作。 我不知道还有什么我需要检查,以确保它的工作。 我可以提交任何我喜欢的内容,而且不会将消息输出到我的屏幕上。 问题 1.在执行钩子时有什么漏掉或忽略的东西? 2.如果我以这种方式实现一个钩子,我是否必须担心在Tortoisesvn中再次实现相同的钩子? 任何反馈和/或build议,非常感谢。