İlk olarak, bu komut /home
, adı ile başlayan herhangi bir alt dizinde 7 günden eski tüm dosyaları bulur ve siler securityuser
:
find /home/securityuser* -mtime +6 -type f -delete
İhtiyacınız var -mtime +6
, +7
çünkü değil -mtime
24 saatlik periyotları sayar. -atime
Bölümünde açıklandığı gibi man find
( -mtime
aynı şekilde çalışır):
-atime n
File was last accessed n*24 hours ago. When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has to
have been accessed at least two days ago.
Bu nedenle, 7 veya daha fazla gün önce değiştirilmiş bir dosyayı bulmak için, 6 günden daha önce değiştirilmiş dosyaları bulmanız gerekir -mtime +6
.
Bir sonraki adım, bu komutun günde bir kez çalıştırılmasıdır. Her securityuserN
biri farklı bir kullanıcı olduğundan (bu kurulumu yeniden düşünmek isteyebilirsiniz, her şeyi daha karmaşık hale getirir), bu root olarak çalıştırılmalıdır. Yani, düzenle /etc/crontab
:
sudo nano /etc/crontab
Ve bu satırı ekleyin:
@daily root find /home/securityuser* -mtime +6 -type f -delete
Bu, find
komutu günde bir kez çalıştırır ve dosyaları siler.
/home
genellikle her kullanıcı için bir alt klasör içerir. Yedeklemelerinizi farklı kullanıcılar olarak saklamak istemiyorsanız (gerçekten iyi bir fikir değil), başka bir konum, örneğin/home/security/backup1
, vb.