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

Bash script to verify validity of SVN projects

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

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

感谢任何能提供帮助的人。

您可以在一个循环中测试 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 的进度输出。请注意,如果 svnadmin verify 被中断(例如 ^C),它也可能打印 OK,并且它会在不是存储库的子目录上打印 NOK