Prevent archiving already archived files
This commit is contained in:
13
main.go
13
main.go
@@ -80,6 +80,10 @@ func loadConfig() Constants {
|
|||||||
archive := filepath.ToSlash(strings.TrimSpace(getenv("ROOT_ARCHIVE", root+"/archive")))
|
archive := filepath.ToSlash(strings.TrimSpace(getenv("ROOT_ARCHIVE", root+"/archive")))
|
||||||
_ = os.MkdirAll(archive, os.ModePerm)
|
_ = os.MkdirAll(archive, os.ModePerm)
|
||||||
|
|
||||||
|
// TODO: This just doesn't really work or do what it says it does
|
||||||
|
// Fix it...
|
||||||
|
// Right now we don't care because we're not using it
|
||||||
|
// But we might want to...
|
||||||
ignored := []string{}
|
ignored := []string{}
|
||||||
if ig := strings.TrimSpace(getenv("IGNORED_DIRECTORIES", "")); ig != "" {
|
if ig := strings.TrimSpace(getenv("IGNORED_DIRECTORIES", "")); ig != "" {
|
||||||
for _, s := range strings.Split(ig, ",") {
|
for _, s := range strings.Split(ig, ",") {
|
||||||
@@ -88,7 +92,6 @@ func loadConfig() Constants {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ignored = append(ignored, filepath.ToSlash(archive))
|
|
||||||
|
|
||||||
archiveMs := parseDurationMS(getenv("ARCHIVE_THRESHOLD", "1d"))
|
archiveMs := parseDurationMS(getenv("ARCHIVE_THRESHOLD", "1d"))
|
||||||
deleteMs := parseDurationMS(getenv("DELETE_THRESHOLD", "12h"))
|
deleteMs := parseDurationMS(getenv("DELETE_THRESHOLD", "12h"))
|
||||||
@@ -161,8 +164,13 @@ func archiveCandidate(path string, info os.FileInfo) {
|
|||||||
log.Warning("rel ROOT->%s: %v", path, err)
|
log.Warning("rel ROOT->%s: %v", path, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if strings.HasPrefix(rel, "archive") {
|
||||||
|
log.Debug("refusing to archive a file that's already archived")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Debug("rel %q", rel)
|
||||||
dst := filepath.Join(constants.ROOT_ARCHIVE, rel)
|
dst := filepath.Join(constants.ROOT_ARCHIVE, rel)
|
||||||
log.Debug("dst %s", dst)
|
log.Debug("dst %q", dst)
|
||||||
|
|
||||||
if err := os.MkdirAll(filepath.Dir(dst), os.ModePerm); err != nil {
|
if err := os.MkdirAll(filepath.Dir(dst), os.ModePerm); err != nil {
|
||||||
log.Error("mkdir %s: %v", filepath.Dir(dst), err)
|
log.Error("mkdir %s: %v", filepath.Dir(dst), err)
|
||||||
@@ -328,7 +336,6 @@ func main() {
|
|||||||
|
|
||||||
logger.Info("Starting directory cleaner")
|
logger.Info("Starting directory cleaner")
|
||||||
constants = loadConfig()
|
constants = loadConfig()
|
||||||
constants.USE_MODTIME = true
|
|
||||||
logger.Info("Ready. First scan in %s", constants.SCAN_INTERVAL)
|
logger.Info("Ready. First scan in %s", constants.SCAN_INTERVAL)
|
||||||
|
|
||||||
// Run immediately, then on interval
|
// Run immediately, then on interval
|
||||||
|
Reference in New Issue
Block a user