Hirdetés

Új hozzászólás Aktív témák

  • Penty
    aktív tag

    Sziasztok. Adott egy Raspberry PI4 Raspberry OS-el (debian bookworm)
    Scriptben szeretném a segítségeteket kérni. Adott a winscp "trash" mappa, aminek a tartalmát minden nap áthelyezem egy "archiv" mappába. A mappa neve, amibe áthelyezem az aktuális dátum.
    PL:
    /media/backup/winscp/trash
    /media/backup/winscp/trash_archive/20240628
    Az archiv mappákat szeretném X idő után (legyen pl. 2 héz) törölni tartalmával együtt. Lenne egy olyan script, ami megvizsgálja a mappák létrhozásának a dátumát, és törli, ha régebbi a beállított időnél?
    A másik gondom, hogy a samba pi felhasználóval van felcsatolva, viszont pl. ha egy fájl az ftpuser "tulajdona", ahhoz ugye nem fér hozzá, nem tudom törölni. A pi usert beraktam az ftpuser csoportba, de akkor sem. Hogy tudnám ezt kivitelezni, hogy a pi usernek legyen jogosultsága az ftpuser fájlaihoz is?

    Ha jól látom, a trash_archive/ mappában lévő dátum nevű mappanevek lényegében emelkedő számok (és feltételezem, hogy csak ezek vannak benne):
    20240625
    20240626
    20240627
    stb.
    Megpróbálhatod egyszerűen csak megszámoltatni és az első 14 legnagyobb nevűt megtartani, majd a legkisebb számút (a legrégebbit) mindig töröltetni egy scripttel.

    COUNT=$(find /media/backup/winscp/trash_archive/* -type d | wc -l)
    OLDEST=$(find /media/backup/winscp/trash_archive/* -type d | head -1)
    if [ $COUNT -gt 14 ]
    then
    rm -rf $OLDEST
    else
    :
    fi

    Integráld bele a mentés scripted elejére a fentit. Ha jelenleg kevesebb mint 14 mentésed van, akkor nem fogja 14 (két két) fölé engedi a mentések számát. Ha több, akkor a script csak egyet fog törölni a pl. 35-ből, így elsőnek törölnöd kell kézileg pár mentés mappát, hogy 14 alá csökkenjen a számuk.

Új hozzászólás Aktív témák