Oprydningsscript
Hey,
Jeg har en Synology NAS server som kopiere mit indhold over på en Fedora server hver søndag kl. 20.
Den laver en ny mappe hver søndag og det vil hurtigt komme til at fylde for meget.
Kan der laves et script som mandag aften (eller lign.) sletter den ældste mappe i min backup mappe?
Jeg behøver ikke et færdigt script, bare lidt hints og lign. :o)
- Log in to post comments
Kommentarer8
Re: Oprydningsscript
Du kunne vel starte med at fortælle lidt om mappestrukturen. Hedder mappen fx noget med en dato eller lign.?
Re: Oprydningsscript
Logrotate?
Re: Oprydningsscript
find har nogle options til at søge efter filer af en hvis alder.
fra "man find"
-mtime n
File's data was last modified n*24 hours ago. See the comments
for -atime to understand how rounding affects the interpretation
of file modification times.
følgende sletter alle filer i kørselsmappen og derunder som ikke er ændret inden for de seneste 5 dage
find . -type f -mtime 5 -exec rm {} \;
mappestruktur
Julemand101 - du skriver om mappestruktur'en. Mener du hvordan min backup navngiver mapperne eller hvor henne i systemet den lægger det?
Divineant - Så hvis jeg lægger en lign. script i roden af min backup mappe vil den slette dem som ikke er blevet skrevet i de sidste 5 dage?
Vi er ude i noget som jeg aldrig har rørt ved før - derfor disse "noob" spørgsmål.
#4
Det vigtigste er mest
#4
Det vigtigste er mest hvad den kalder mapperne :)
#5 - Mærkelige navn...
"Backup_00113200A879" (lavet idag ved 12.30 tiden) hedder den første/eneste mappe som er lavet.
Hvis der er nogen som kan få noget godt ud af det er de velkommen...
Re: #5 - Mærkelige navn...
Kør gzip på mapperne og lad logrotate styre resten. Lige som fx dine syslog filer.
Re: Oprydningsscript
Der var sneget en lille fejl ind i den kommando jeg skrev i #3,
-mtime 5 viser filer ændret for 5 dage siden
-mtime +5 viser filer ændret for 5 eller flere dage siden
Hvis du ønsker at slette hele mapper eks. hver mandag kan du oprette en crontab
#crontab -e
0 0 * * mon /usr/bin/find /sti/til/rodmappe -type d -mtime +5 -exec rm -rf {} \; > /dev/null 2>&1
Hvis du ikke ønsker at slette dem kan du benytte logrotate som #7 foreslår