Bash脚本验证SVN项目的有效性

时间:2015-04-09 08:06:00

标签: linux bash shell svn

我想编写一个每周运行一次的bash脚本,并基本上对服务器上存储的所有项目执行svnadmin verify脚本。这应该很容易做到,但我没有足够的bash知识来编写这个脚本,任何帮助将不胜感激。

项目存储在服务器上的一个目录中,因此我想输出标准的ls -la命令并在每个目录名称(项目)的末尾输出,并说明项目是否正常(验证命令是否已在所述项目上运行完毕。)

感谢任何可以提供帮助的人。

1 个答案:

答案 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