所以,最近兩天發生在我身上。我試圖在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