所以,最近两天发生在我身上。我试图在SaltStack和一个非常简单的bash脚本的帮助下建立一个Subversion版本库。执行一个bash脚本并手动执行它有什么区别吗?
什么盐做这件事情是非常简单的,它只是移动10-subversion.conf
从主到/root/
的仆从(从)并安装neded包,如subversion
,httpd
和mod_dav_svn
。
后这一切发生时,下一个脚本运行:
#!/bin/bash
mv -f /root/10-subversion.conf /etc/httpd/conf.modules.d/10-subversion.conf
mkdir /var/www/svn
svnadmin create /var/www/svn/repo
chown -R apache.apache /var/www/svn/repo
chcon -R -t httpd_sys_content_t /var/www/svn/repo
chcon -R -t httpd_sys_rw_content_t /var/www/svn/repo
systemctl restart httpd
mkdir /mnt/logs
touch /mnt/logs/log
svn checkout http://localhost/svn/repo
svn checkout http://localhost/svn/repo /mnt/logs/
在那之后,我得到一个错误与不能够加载svn的。
svn: E175002: Unable to connect to a repository at URL 'http://localhost/svn/repo'
XML parse error at line 1: no element found (http://localhost/svn/repo)
这里奇怪的事情,这就是问题的原因是,如果我单独运行的每一个命令(我从字面上脚本复制粘贴&到CLI)的作品。
那么,Subversion是不是随机失败,还是在执行脚本和手动执行之间存在实际差异?
编辑:
不知怎的,我试图通过复制&从脚本粘贴命令再次做到这一点,它失败了。然后我意识到,在测试时,我曾经用编辑器手动修改10-subversion.conf
,但现在我正在移动它,所以我恢复了快照,再次手动编辑文件并工作。移动时,我检查权限和文件的所有权,并在编辑时,两者是相同的(如下):
-rw-r--r--. 1 root root 120 abr 10 09:18 /etc/httpd/conf.modules.d/10-subversion.conf
您如何运行脚本?什么是执行错误? – 123
这个脚本是通过'cmd.script'的SaltStack运行的,我在问题 – sysfiend
上发布错误应该是一样的。但Exec上下文可能不同。在某个时候,PATH或HOME没有设置。 Ptty也可以修改行为。该脚本是否与同一用户一起运行? – quazardous