Tag: bash

使用符号链接时出现Apache 500错误

以下是我用于在CentOS服务器上部署php应用程序的部署脚本的摘录。 echo "Starting Deployment to $SITE_FOLDER (Relase Directory: $RELEASE_DIR)…" svn –username=$SVN_USER export $REPOSITORY $DEPLOY_FOLDER/releases/$RELEASE_DIR echo "CHMOD 755 of Release Directory" chmod 755 -R $DEPLOY_FOLDER/releases/$RELEASE_DIR echo "Making Symbolic Link." ln -nfs $DEPLOY_FOLDER/releases/$RELEASE_DIR/ $DEPLOY_FOLDER/public_html 我在一个成功的类似环境中使用了它。 我把这个设置在一个新的服务器上,并且在删除之前,文件apache从public_html提供了很好的文件。 现在,它通过符号链接服务,PHP文件都扔500错误。 非.php文件正在服务正常。 我已经尝试将目录作为不同的Apache用户和不同的权限,但似乎没有任何工作。 有任何想法吗? 预先感谢您的帮助!

TAB完成不工作在Ubuntu的耐寒苍鹭

我最近安装了Ubuntu的耐寒,发现用TAB命令完成shell命令不起作用,在我的系统中安装了“bash-completion”包。 我猜这是相关的破折号是默认的shell? 有没有一种方法来使用短跑完成标签? 如果没有办法,那么我怎样才能改变我的默认shell为bash?

如何改变VGA模式启动后,用Ubuntulogin?

系统启动后,有没有办法改变控制台的屏幕分辨率? 我已经看到很多在启动和grubconfiguration中设置vga =行,但是我希望能够在login后改变它。 这将会login到控制台,而不是通过SSH。 在DOS的旧时代,我只是使用“模式”,并改变它。 什么是Unix的对手?

用path运行时,二进制不会执行。 例如> ./程序将无法工作,但>程序工作正常

我正在尝试运行一个二进制文件,我得到了一些奇怪的行为。 我正在使用Mac OSX雪豹,而二进制本身是labkey软件的一部分。 如果我尝试运行该文件使用绝对path它将无法正常工作..失败,像一个错误 –bash / Users / me / Sources / labkey / build / bin / program:不能执行二进制文件 但是,如果我切换到/ Users / me / sources / labkey / build / bin /程序目录并只需键入它的名字就可以运行这个二进制文件。 我已经探索了执行文件的一些排列组合。 从/ Users / me / Sources / labkey / external / osx / bin /程序目录中,如果我尝试运行使用 。/程序 我得到上面的错误,但如果我使用 程序 我没有得到一个错误。 任何想法可能会出错? 感谢您的答案只是添加更多的信息; 文件./program的输出是; […]

Bash完成脚本帮助

所以我刚刚开始学习bash完成脚本,并开始为我所用的工具开发一个工具。 首先,我使用一系列选项构build脚本: _zf_comp() { local cur prev actions COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" actions="change configure create disable enable show" COMPREPLY=($(compgen -W "${actions}" — ${cur})) return 0 } complete -F _zf_comp zf 这工作正常。 接下来,我决定dynamic创build可用操作的列表。 我把以下命令放在一起: zf | grep "Providers and their actions:" -A 100 | grep -P "^\s*\033\[36m\s*zf" | awk '{gsub(/[[:space:]]*/, "", $3); print $3}' | sort | […]

正确的Bash守护进程脚本创build

在Ubuntu上,我将/etc/init.d/ skeleton作为新文件复制,并将其设置为“全部”可执行文件(就像该目录中的其他文件一样)。 在这里,我创build了一个“foo”,它是/usr/sbin另一个Bash脚本,但是它的特殊之处在于,它等待来自PHP网页的命名pipe道连接。 (更多细节在这里 ,虽然这是一个侧面的话题。) 因为它必须在命名pipe道连接上等待一个循环,所以这个命令显然挂在命令行上。 没什么大不了的,因为我真的希望它挂起来,等待一个新的连接。 但我不希望它发生在前台。 所以,我让start-stop-daemon使用–background选项。 好的,它对启动和状态非常有用,但是停止不起作用 – 它将内存中的命令以及我在/usr/sbin/foo Bash脚本中的cat /tmp/pipe命令留在内存中。 他们警告说,在start-stop-daemon命令中使用–background选项时会发生这种情况。 问题 那么,在start-stop-daemon –background运行时,正确停止/ usr / sbin / foo的正确方法是什么?以及停止可能调用的任何subprocess(例如cat / tmp / pipe命令)通过/ usr / sbin / foo? 我的意思是,我想我可以使用killall,但这是致命的。 也许你知道更有效的方法?

奇怪的行为与执行权限

对于练习 – 我从/ bin / pwd中删除了对他人的执行权限: $ chmod ox /bin/pwd $ ls -l /bin/pwd -rwxr–r– 1 root root 26568 Apr 28 2010 /bin/pwd 和logging为马特我不能执行/ bin / pwd按预期: $ /bin/pwd $ -bash: /bin/pwd: Permission denied 但如果不是绝对的,它可以突然执行: $ pwd /home/matt 为什么? 谢谢!

Postgres 9基线维护脚本

我在最近的Ubuntu(Debian)服务器上使用Postgres 9.X,并且一直在寻找维护脚本的例子,不幸的是空着。 Postgres文档是全面的维护抽象主题 – 其数据库应定期: 真空/分析(+ autovacuum) 重build索引 集群? 日志旋转 不幸的是,文档没有得到一个具体的例子,也许是因为涉及到很多变数。 不过,我会很感激一个基准维护脚本的例子: 一个用于未来几年预计将会增长的小型(规模和使用)数据库。 有点计划的停机时间是好的。 例如,每周一次,客户端应用程序将closures一段时间,所以postgres可以做到这一点。 我已经开始了,请帮助改进: #!/bin/bash # this script maintains a Postgres Database Cluster # set any needed env vars: # PGDATABASE, PGUSER, PGPASSWORD, PGHOST, PGPORT, etc. read -p "Press ENTER to stop Postgres Clients, start maintenance…" sudo stop websrvr1 sudo stop websrvr2 sleep […]

无法删除或列出目录(ls或rm)Linux – Debian

我在Debian专用服务器上的/ var / log / apache2 / vhosts上有一个日志文件目录。 我每天都将主access_log分割到/ var / log / apache2 / vhosts中的各个vhostname.com_access_log文件中 在上周左右,我已经注意到服务器已经无响应,每次发生这种情况似乎有多个日志旋转实例运行。 经过一番调查,我决定检查/ var / log / apache2 / vhosts的内容来查看是否有某种问题。 我可以'cd'进入目录,但不能列出它的内容。 'ls'命令没有死,只是没有做任何事情。 尝试各种不同的方式列出文件的内容后,我决定删除它,并创build一个新的文件。 在父目录的目录下运行rm似乎并不工作:rm -rf vhosts。 从'top'的angular度来看,我可以看到'rm'正在运行,并使用less量的cpu …现在已经运行了大约一个小时。 任何想法是怎么回事,我怎么能摆脱那个目录? 更多信息: 在/ var / log / messages中看到很多这种types的错误不知道它是否相关: Oct 15 12:22:39 sp5059b kernel: [2257339.255530] apache2 D a9b86504 0 32217 9125 Oct 15 […]

Sudoers CLI选项

我正在做一个sudoers文件。 什么是正确的方式来陈述以下? 零个或多个命令行选项,每个选项以单个或双个破折号开头,后跟一个或多个字符。 我想要有效地允许长和短的命令行选项,总数为零或更多,例如-v –variable -vb等。 我相信以下将是适当的perl正则expression式。 … <binary> (?:-{1,2}\w+)* <file> 我不知道如何将其翻译成兼容bash / sudoers的东西。

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.