Articles of bash

在debian中运行python脚本作为守护进程

我试图运行我的python脚本作为服务…但是当我打电话给sudo update-rc.d mylistener start时出现这个错误: 在/usr/sbin/update-rc.d第192行的模式匹配(m //)中使用未初始化的值$ ARGV [1]。 update-rc.d:错误:启动后预期的NN 这是我的初始化脚本mylistener : #! /bin/sh ### BEGIN INIT INFO # Provides: mylistener # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: S # Default-Stop: 0 6 # Short-Description: This is the description. # Description: This is the description. ### END INIT INFO DAEMON=/srv/example.org/public/env/bin/python ARGS=/srv/example.org/public/my_listener.py PIDFILE=/srv/example.org/my_listener.pid case […]

带input的rsync shell脚本

我想有一个rsync shell脚本,用户将input文件夹或文件以同步到另一台服务器。 即 – ./deploy /html/或./deploy /html/kuky.txt 该脚本将等待input,然后将执行rsync脚本请帮助。

CentOS:电子邮件通知失败的sshlogin尝试

在CentOS下,我需要一个每10分钟运行一次的脚本,如果在/ var / log / secure中有任何新的失败的sshlogin尝试,请给我发电子邮件。

如何将行尾的variables提供给bash中其他应用程序的标准input?

是否有一种(简单的)方式将variables以行尾的方式送入BASH中的其他程序? 考虑一下例子: flist=$(ls -l) echo $flist echo将用空格replace所有行的末尾,所以我的输出将不同于variables的内容。 其他例子: echo $flist | grep myfile.txt 这个命令不能像预期的那样输出关于myfile.txt信息。 如何打印包含myfile.txt的行。 这是一个解决scheme: cat << EOF | grep myfile.txt $flist EOF 任何不那么丑陋?

replace颠覆监视的目录

我们正试图更新一个我们在颠覆的控制下安装的软件。 软件的更新说明需要replace其中有.svn目录的几个目录。 由于我们不能直接replace这些目录,所以我一直试图想出一种方法来replace这些目录的内容(和recursion的所有子目录的内容),而不是目录本身。 我认为必须有一个解决scheme使用cp标志的组合,但我无法弄清楚这个组合是什么。 我看着使用cp -aR目录/ existing_directory / ,但是我不能使用-a,因为时间戳不会被更新信任。 我没有问题,replace所有的文件。 此外,我不相信递减的斜杠将通过子目录进行。 如果有人能引导我走向正确的方向,我将不胜感激。 谢谢!

用bash运行SQL * Plus导致错误的编码

我有一个在bash中运行SQL * Plus的问题。 这是我的代码 #!/bin/bash #curl http://192.168.168.165:8080/api_test/xsql/f_exp_order_1016.xsql > script.sql wget -O script.sql 192.168.168.165:8080/api_test/xsql/f_exp_order_1016.xsql set NLS_LANG=_.UTF8 sqlplus /nolog << ENDL connect login/password set sqlblanklines on start script.sql exit <<endl 我从我们的Intranet下载插入语句,把它放到SQL文件中,并通过SQL * Plus运行。 这工作正常。 我的问题是,当我保存文件script.sql我的编码出错了。 所有特殊字符(如íášč)都被破坏,导致我的数据库中插入错误的字符。 该文件的编码是UTF-8,UTF-8也在我们的Intranet的XSQL页面上设置。 所以我真的不知道哪里可能是个问题。 也欢迎任何有关我的脚本的build议,我是Linux脚本中的新手:-)

BASH引用sudo su用户-c

我需要运行以下命令: sed -i 's/^/command="\/bin\/false",no-agent-forwarding,no-pty,no-X11-forwarding, /' ~/.ssh/authorized_keys 在sudo su user -c 我想我已经花了大约3个小时阅读报价指南,类似的例子,并在testing内,我仍然无法find一种方法,工作:( 这里是我的历史,如果你想笑我的不幸http://pastebin.com/K6YMm9mp

在shell脚本中,根据另一台服务器上的文件执行不同的操作(可访问网页)

最近我在几台不同的服务器上遇到过防火墙问题。 而且即时通讯要创build一个脚本,每小时运行一次左右,并检查外部服务器上的文件,并执行相关的防火墙规则集。 就目前来说,如果SOMETHING发生在防火墙,我得到我的SSH / etc被阻止,我必须安排一个现场访问是荒谬的昂贵。 所以这将是一个有效的故障安全系统。 如果出现问题,我可以使用另一台服务器在“已损坏”的服务器上启动更改并恢复到可以远程pipe理的状态。 有点haxy我知道,但在我目前的Linuxpipe理员级别应该工作得很好。 我以前从来没有真的做过bash / sh脚本,但是我用来蝙蝠。 所以,从社区需要帮助的是把这个psudo代码变成可能工作的东西: $PATH = "/usr/firewall-scripts/temp/"; cd $PATH; wget https://example.com/firewall/config/failsafe; $FAILSAFE = readfile("$PATH/failtsafe");#This <— im sure doesn't exist. if($FAILSAFE == "1") { /usr/firewall-scripts/failsafe.fw } else if ($FAILSAFE == "2") { /usr/firewall-scripts/failsafe2.fw } else if ($FAILSAFE == "0") { /usr/firewall-scripts/normal.fw } else if ($FAILSAFE == "-1") { […]

复制和replace到另一个最快的方式的文件夹 – Linux的bash

我有一个三个文件夹: 核心 , 项目,并与许多文件合并 。 我想删除合并文件夹中的所有文件和文件夹(包括点文件),然后将所有文件(包括点文件)从核心文件夹复制到合并文件夹,以及将项目文件夹中的所有文件合并到合并文件。 情况 如何从特殊文件夹中删除所有文件和文件夹(包括点文件),而不删除它们? ( rm -rf /path/to/folder/*没有删除文件和文件夹。) 什么是从特殊文件夹recursion到另一个(包括点文件)复制(有和没有合并和replace)所有文件的最快方法? ( tar -cf my.tar path/; tar -xf my.tar ) 我使用焦油,但有太多的文件,我需要一个更快的方法。

如何在启动进程后在Linux启动脚本中执行更多的命令

我正在尝试编写一个启动脚本,在服务器重新启动后执行应用程序(MapProxy)。 我的服务器运行Ubuntu 11.04 Natty 64位。 在脚本中,我执行一个python脚本exec python /$path/"config.py" &它成功地创build了一个web服务器可以与之通信的fcgi.socket。 但是,我需要使fcgi.socket可写或MapProxy将无法正常工作,即我需要对其执行chmod。 看来,在我操作config.py之后,我在启动脚本中失去了控制 – 它不会继续使fcgi.socket可写。 有任何想法吗? #! /bin/bash : exec python /$path/"config.py" & exec chmod o+w /$path/"fcgi.socket" & exit 0