mirror of
https://github.com/vale981/dirkules
synced 2025-03-04 17:01:40 -05:00
improved cleaning
This commit is contained in:
parent
5e7298775b
commit
a768090ae2
2 changed files with 5 additions and 28 deletions
|
@ -4,26 +4,7 @@ import subprocess
|
|||
|
||||
def autoclean(path):
|
||||
# remove all files older than 180 days
|
||||
find = subprocess.Popen([
|
||||
"sudo find \"" + path +
|
||||
"\" -type f -mtime +180 -delete -exec echo {} \\;"
|
||||
],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
shell=True,
|
||||
universal_newlines=True,)
|
||||
try:
|
||||
out_remove, err_remove = find.communicate(timeout=500)
|
||||
except subprocess.TimeoutExpired:
|
||||
find.kill()
|
||||
out_remove, err_remove = find.communicate()
|
||||
|
||||
err_rmdir = False
|
||||
try:
|
||||
subprocess.run(
|
||||
"find " + path + " -mindepth 1 -type d -empty -delete",
|
||||
shell=True, check=True)
|
||||
except subprocess.CalledProcessError:
|
||||
err_rmdir = True
|
||||
|
||||
return [out_remove, err_remove, err_rmdir]
|
||||
subprocess.run(["sudo", "find", path, "-type", "f", "-mtime", "+180", "-delete"], shell=False,
|
||||
timeout=90, check=True)
|
||||
subprocess.run(["sudo", "find", path, "-mindepth", "1", "-type", "d", "-empty", "-delete"], shell=False,
|
||||
timeout=90, check=True)
|
||||
|
|
|
@ -8,11 +8,7 @@ from dirkules import db, app, scheduler
|
|||
def clean_folders():
|
||||
for folder in Cleaning.query.all():
|
||||
if folder.state and os.path.isdir(folder.path):
|
||||
result = autoclean.autoclean(folder.path)
|
||||
if result[1] != '':
|
||||
app.logger.error("Deleting old files exited with errors: {}".format(result[1]))
|
||||
elif result[2]:
|
||||
app.logger.error("Removing empty folders exited with errors. No further information available.")
|
||||
autoclean.autoclean(folder.path)
|
||||
folder.time = datetime.datetime.now()
|
||||
elif folder.state and not os.path.isdir(folder.path):
|
||||
app.logger.error('Folder not found: {}'.format(folder.path))
|
||||
|
|
Loading…
Add table
Reference in a new issue