ultimatepp/autotest/CheckBak/CheckBak.cpp
cxl 5dcb7ccc09 .autotest
git-svn-id: svn://ultimatepp.org/upp/trunk@12023 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2018-06-28 08:49:00 +00:00

58 lines
1.3 KiB
C++

#include <Core/Core.h>
using namespace Upp;
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_COUT|LOG_FILE);
String s = HttpRequest("http://www.ultimatepp.org/df.info").Execute();
LOG(s);
int q = s.Find("%");
ASSERT(q >= 0);
q = s.Find("%", q + 1);
ASSERT(q >= 4);
int n = atoi(~s + q - 3);
LOG("Filesystem uses " << n << "%");
ASSERT(n > 10 && n < 80);
for(auto dir : Split("/net/nas1/bak;/net/nas/bak;/bak;/big/bak", ';')) {
FindFile ff(dir + "/*");
Time tm = Time::Low();
int64 len = 0;
String fn;
while(ff) {
if(ff.IsFile()) {
Time tm1 = Time(ff.GetLastWriteTime());
if(tm1 > tm) {
tm = tm1;
len = ff.GetLength();
fn = ff.GetPath();
}
}
ff.Next();
}
len = len >> 20;
LOG(fn << ", last time: " << tm << ", size " << len << " MB");
ASSERT(tm >= GetSysDate() - 1);
ASSERT(len > 2000 && len < 4000);
String h = Sys("tar -tvf " + fn);
int q = h.Find("root/website.bak/root/bak/forum.fud");
ASSERT(q >= 17);
String s = h.Mid(q - 17, 17);
Date d;
// 2014-10-30 01:01:56
// 0123456789012345678
d.year = atoi(s);
d.month = atoi(~s + 5);
d.day = atoi(~s + 8);
LOG("forum.fud last date: " << d);
ASSERT(d >= GetSysDate() - 1);
}
LOG("------------------- OK");
}