autoclean hinzugefügt

This commit is contained in:
Daniel 2019-04-11 17:29:09 +02:00
parent e16308e3dd
commit 346d3a94aa
2 changed files with 41 additions and 1 deletions

View file

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
import subprocess
from dirkules import db
from dirkules.models import Cleaning
def autoclean():
paths = []
paths.append("/media/data-raid/@dataDaniel/.recycle")
paths.append("/media/data-raid/@dataShare/.recycle")
for path in paths:
# remove all files older than 180 days
find = subprocess.Popen([
"find \"" + path +
"\" -type f -mtime +180 -delete -exec echo {} \\;"
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True,
universal_newlines=True)
out, err = find.communicate()
if "/" not in out:
for element in out:
db.session.add(Cleaning(element))
db.session.commit()
# remove all empty folders
subprocess.run(
"find \"" + path + "\" -type d -empty -exec rmdir {} +",
shell=True)

View file

@ -1,7 +1,8 @@
from dirkules import db
from sqlalchemy import Table, Column, Integer, ForeignKey
from sqlalchemy import Table, Column, Integer, ForeignKey, DateTime
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql import func
class Drive(db.Model):
@ -50,3 +51,13 @@ class Time(db.Model):
def __init__(self, desc):
self.desc = desc
class Cleaning(db.Model):
__tablename__ = 'cleaning'
id = db.Column(db.Integer, primary_key=True)
event = db.Column(db.String)
time = db.Column(db.DateTime(timezone=True), default=func.now())
def __init__(self, event):
self.event = event