gpt4 book ai didi

svn - CRONTAB 没有完成 svndump

转载 作者:行者123 更新时间:2023-12-04 16:21:03 25 4
gpt4 key购买 nike

我刚刚发现我一直在为我的 SVN 存储库创建的自动转储已经被提前切断,基本上只有一半的转储在那里。这不是紧急情况,但我讨厌处于这种情况。它首先违背了进行自动备份的目的。

我正在使用的命令如下。如果我在终端中手动执行它,它会很好地完成; output.txt 文件大小为 16 兆,包含所有 335 个修订版。但是,如果我将它留给 crontab,它会在一半处退出,大约 8.1 兆,并且只有前 169 次修订。

# m h  dom mon dow   command
18 00 * * * svnadmin dump /var/svn/repos/myproject > /home/andrew/output.txt

我实际上保存到一个过时的 gzip 文件,并且服务器上的空间并不短缺,所以这不是磁盘空间问题。它似乎在两秒钟后保释,所以这可能是时间问题,但过去一个月的文件大小每次都是相同的,所以我也不认为是这样。 crontab 是否在有限的内存空间内执行?

最佳答案

所以,我不知道这里真正的问题是什么,但是如果我在转储时将 svnadmin 的 STDERR 路由到/dev/null,一切都会顺利进行。我尝试使用“安静”标志 (-q),它也成功了。我假设当从 crontab 运行的 shell 脚本在 STRERR 中遇到足够的文本时,它会停止执行正在运行的任何内容并转到下一条指令。我已经对手动文件和计划文件进行了 MD5,它们是相同的。这似乎解决了。所以如果有人自己遇到这个问题,这是我用来成功通过早期截断的 shell 脚本。这有点冗长。对不起。

#!/bin/sh
echo "STARTING AT $(date +\%Y/\%m/\%d/T%I:\%M:\%S)" >> /home/andrew/svnlog.txt
rm /tmp/andrewMobileApp.dump
svnadmin dump /var/svn/repos/andrewMobileApp > /tmp/andrewMobileApp.dump 2>/dev/null
echo "svnadmin exited with code $?" >> /home/andrew/svnlog.txt
gzip -c /tmp/andrewMobileApp.dump > "/home/andrew/svnbackups/andrewMobileApp.dump.$(date +\%Y\%m\%d\%I\%M\%S).txt.gz"
echo "gzip exited with code $?" >> /home/andrew/svnlog.txt
echo "DONE AT $(date +\%Y/\%m/\%d/T%I:\%M:\%S)" >> /home/andrew/svnlog.txt
echo "-----" >> /home/andrew/svnlog.txt

此脚本通过 super 用户 crontab 调用。

关于svn - CRONTAB 没有完成 svndump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2323933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com