我想编写一个每周运行一次的bash脚本,并基本上对服务器上存储的所有项目执行svnadmin verify脚本。这应该很容易做到,但我没有足够的bash知识来编写这个脚本,任何帮助将不胜感激。
项目存储在服务器上的一个目录中,因此我想输出标准的ls -la命令并在每个目录名称(项目)的末尾输出,并说明项目是否正常(验证命令是否已在所述项目上运行完毕。)
感谢任何可以提供帮助的人。
答案 0 :(得分:2)
您可以在循环中测试svnadmin verify
的退出状态,该循环遍历给定父级的所有目录(使用目录glob运算符*/
),例如svndir
:
#!/bin/bash
svndir=/home/subversion/repositories
for dir in "$svndir"/*/
do
if svnadmin verify "$dir" &>/dev/null
then
echo -n "OK "
else
echo -n "NOK "
fi
ls -lad "$dir"
done
此示例将丢弃svnadmin verify
的进度输出。请注意,如果OK
被中断(例如svnadmin verify
),它也可能会打印^C
,并且会在不属于存储库的子目录上打印NOK
。