mirror of
https://github.com/vale981/dirkules
synced 2025-03-05 09:21:38 -05:00
autoclean hinzugefügt
This commit is contained in:
parent
e16308e3dd
commit
346d3a94aa
2 changed files with 41 additions and 1 deletions
29
dirkules/driveManagement/autoclean.py
Normal file
29
dirkules/driveManagement/autoclean.py
Normal 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)
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue