ArielGlenn has submitted this change and it was merged.
Change subject: dumps: clean up old private dumps and files, not just public
ones
......................................................................
dumps: clean up old private dumps and files, not just public ones
Change-Id: I8ff5e15bcdd859034667c3506de4a5ea731262ef
---
M xmldumps-backup/WikiDump.py
M xmldumps-backup/worker.py
2 files changed, 23 insertions(+), 8 deletions(-)
Approvals:
ArielGlenn: Looks good to me, approved
jenkins-bot: Verified
diff --git a/xmldumps-backup/WikiDump.py b/xmldumps-backup/WikiDump.py
index 6b90e10..cb15d72 100644
--- a/xmldumps-backup/WikiDump.py
+++ b/xmldumps-backup/WikiDump.py
@@ -633,9 +633,12 @@
pass
return time.strftime("%Y%m%d", time.gmtime(mtime))
- def dumpDirs(self):
+ def dumpDirs(self, private=False):
"""List all dump directories for the given database."""
- base = self.publicDir()
+ if private:
+ base = self.privateDir()
+ else:
+ base = self.publicDir()
digits = re.compile(r"^\d{4}\d{2}\d{2}$")
dates = []
try:
@@ -648,7 +651,6 @@
return dates
# private....
-
def lockFile(self):
return os.path.join(self.privateDir(), "lock")
diff --git a/xmldumps-backup/worker.py b/xmldumps-backup/worker.py
index 6514f75..01c0f28 100644
--- a/xmldumps-backup/worker.py
+++ b/xmldumps-backup/worker.py
@@ -1831,6 +1831,7 @@
self.showRunnerState("Cleaning up old dumps for %s" %
self.dbName)
self.cleanOldDumps()
+ self.cleanOldDumps(private=True)
# Informing what kind backup work we are about to do
if (self.jobRequested):
@@ -1909,12 +1910,17 @@
else:
return True
- def cleanOldDumps(self):
+ def cleanOldDumps(self, private=False):
"""Removes all but the wiki.config.keep last dumps of this wiki.
If there is already a directory for todays dump, this is
omitted in counting and
not removed."""
if self._cleanOldDumpsEnabled:
- old = self.wiki.dumpDirs()
+ if private:
+ old = self.wiki.dumpDirs(private=True)
+ dumptype='private'
+ else:
+ old = self.wiki.dumpDirs()
+ dumptype='public'
if old:
if old[-1] == self.wiki.date:
# If we're re-running today's (or jobs
from a given day's) dump, don't count it as one
@@ -1925,11 +1931,14 @@
old = old[:-(self.wiki.config.keep)]
if old:
for dump in old:
- self.showRunnerState("Purging old dump
%s for %s" % (dump, self.dbName))
- base =
os.path.join(self.wiki.publicDir(), dump)
+ self.showRunnerState("Purging old %s
dump %s for %s" % (dumptype, dump, self.dbName))
+ if private:
+ base =
os.path.join(self.wiki.privateDir(), dump)
+ else:
+ base =
os.path.join(self.wiki.publicDir(), dump)
shutil.rmtree("%s" % base)
else:
- self.showRunnerState("No old dumps to purge.")
+ self.showRunnerState("No old %s dumps to
purge." % dumptype)
def showRunnerState(self, message):
self.debug(message)
@@ -2361,10 +2370,14 @@
# we only rerun this one, so just remove this
one
if
exists(dumpDir.filenamePublicPath(self.checkpointFile)):
os.remove(dumpDir.filenamePublicPath(self.checkpointFile))
+ elif
exists(dumpDir.filenamePrivatePath(self.checkpointFile)):
+
os.remove(dumpDir.filenamePrivatePath(self.checkpointFile))
files = self.listOutputFilesForCleanup(dumpDir)
for f in files:
if exists(dumpDir.filenamePublicPath(f)):
os.remove(dumpDir.filenamePublicPath(f))
+ elif exists(dumpDir.filenamePrivatePath(f)):
+
os.remove(dumpDir.filenamePrivatePath(f))
def getChunkList(self):
if self._chunksEnabled:
--
To view, visit https://gerrit.wikimedia.org/r/216714
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I8ff5e15bcdd859034667c3506de4a5ea731262ef
Gerrit-PatchSet: 1
Gerrit-Project: operations/dumps
Gerrit-Branch: ariel
Gerrit-Owner: ArielGlenn <[email protected]>
Gerrit-Reviewer: ArielGlenn <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits