Help needed with delete script.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help needed with delete script.
# 1  
Old 02-08-2013
Help needed with delete script.

I have searched lots of forums and couldn't find an answer to this question.
We have a synology diskstation that runs linux and we want to use it as a temporary share disk for our employees.
Here lies the problem since every script that I have found looks at the date from when it was edited, but we need it to look at the date it was added to the temporary share folder.

So in summary: a nas that runs linux needs a script that automaticaly checks every 10 days if there are files in the nas that were added over 10 days ago and delete them if they're older.

if there are any other solutions that would fine too.

with kind regards
# 2  
Old 02-08-2013
Code:
#! /bin/bash

oldDate=$(date -d "-10days" +%Y%m%d)

for file in /path/to/files/*
do
    fileDate=$(stat -c%y /path/to/files/$file | awk '{gsub(/-/,"",$1);print $1}')
    if [ $fileDate -lt $oldDate ]
    then
        echo "Deleting /path/to/file/$file..."
        rm -f /path/to/files/$file
    fi
done

And put an entry in /etc/crontab:
Code:
* * */10 * * root /home/user/script.sh

# 3  
Old 02-08-2013
even with find...

find /path/to/path -type f -mtime +10 -exec 'rm' '-f' '{}' \;

BB
# 4  
Old 02-08-2013
We are running the following cleantmp.sh in production environment:

Code:
#!/bin/sh

PATH=/usr/bin:/bin:/usr/sbin
export PATH

max_days=30
case $1 in
[0-9]*)
 max_days=$1
 shift
 ;;
esac

dirs_to_clean=${@:-/tmp}

owner_to_keep="root nobody"

omit=""
for i in $owner_to_keep
do
 omit="$omit ( ! -user $i )"
done

for dir in $dirs_to_clean
do
 [ -d $dir ] &&
 cd $dir &&
 find . -depth \! -type d \( -mtime +$max_days -o -mtime -0 \) \( -atime +$max_days -ctime +5 -o -ctime +$max_days -atime +5 -o -type l \) $omit -exec rm -f {} \; -o -type d -empty $omit -mtime +$max_days -exec rmdir {} \; 2>/dev/null
 sleep 1
done

exit 0
# We assume that a full backup (where atime or ctime changes) happens less often than every 5 days.
# We cd first, so there is a good chance that a too long directory path can be accessed
# if -empty is unsupported, replace it by -links 2
# A just emptied directory is deleted immediately or after another max_days
# -mtime -0 detects files with a future time stamp (were extracted from an obscure archive)

A nightly root crontab entry (crontab -e; crontab -l) could be
Code:
59 23 * * * /path/to/cleantmp.sh 10 /path/to/clean

You can add more /2ndpath/to/clean /3rdpath/to/clean ...
Nightly means, the remaining files are never older than 10+2=12 days.
For safety, frequently read files are not deleted.

Last edited by MadeInGermany; 02-08-2013 at 11:21 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sh script help needed

Can anyone tell me what this would do in an .sh script @@ -912,10 +912,12 @@ Please use CODE tags as required by forum rules! (3 Replies)
Discussion started by: samd12
3 Replies

2. Shell Programming and Scripting

Script needed to delete to the list of files in a directory based on last created & delete them

Hi My directory structure is as below. dir1, dir2, dir3 I have the list of files to be deleted in the below path as below. /staging/retain_for_2years/Cleanup/log $ ls -lrt total 0 drwxr-xr-x 2 nobody nobody 256 Mar 01 16:15 01-MAR-2015_SPDBS2 drwxr-xr-x 2 root ... (2 Replies)
Discussion started by: prasadn
2 Replies

3. Shell Programming and Scripting

Help needed for script

Hi, I have a big list like this --> 3285 3289 328D 3291 3295 3299 329D 32A1 I need to make it like --> 3285|3289|328D|3291|3295|3299|329D|32A1 Please suggest. This is Linux OS. (8 Replies)
Discussion started by: solaris_1977
8 Replies

4. Red Hat

Need Script to ZIP/SAVE & then DELETE Log file & DELETE ZIPS older than 12 months

ENVIROMENT Linux: Fedora Core release 1 (Yarrow) iPlanet: iPlanet-WebServer-Enterprise/6.0SP1 Log Path: /usr/iplanet/servers/https-company/logs I have iPlanet log rotation enabled rotating files on a daily basis. The rotated logs are NOT compressed & are taking up too much space. I... (7 Replies)
Discussion started by: zachs
7 Replies

5. UNIX for Dummies Questions & Answers

help in script needed

Hi, I am developing a script for writing out the failed jobs in file, 1)First step i need to create an empty file Status with today's date. 2)After that i need to execute the below command: dsjob -server servername -user uname -password pwd -ljobs projectname This will listout all... (5 Replies)
Discussion started by: pandeesh
5 Replies

6. Shell Programming and Scripting

Expect script help needed- script failing if router unavailable

Hey all. Sometimes I'm tasked to change some router configs for the entire network (over 3,000 Cisco routers). Most of the time its a global config parameter so its done with a loop and an IP list as its the same configuration change for all routers. This is working OK. However, sometimes an... (3 Replies)
Discussion started by: mrkz1974
3 Replies

7. UNIX for Dummies Questions & Answers

Cron to delete email help needed

I would like to know if I can place a cron job (and what it might be of course) to delete all the mail in an inbox? Here are the servers specs: Operating systemLinuxService StatusClick to ViewKernel version2.6.28.9Machine Typei686Apache version2.2.11 (Unix)PERL version5.8.8Path to... (2 Replies)
Discussion started by: markmatu
2 Replies

8. Shell Programming and Scripting

Need to delete the latest two files..Help needed

Suppose I have a directory called jeet and inside that directory so many files will be there.... Example: /abc/xyz/jeet $ ls -ltr total 0 -rw-r--r-- 1 oracle dba 0 Jan 13 11:36 naresh -rw-r--r-- 1 oracle dba 0 Jan 13 11:36 sreeni -rw-r--r-- 1 oracle dba ... (1 Reply)
Discussion started by: satyajit007
1 Replies

9. UNIX for Dummies Questions & Answers

Urgent help needed to delete some text without opening the file in unix

Hi To delete some text in 2 files in line1 ( not complete line) in unix without opening the files. For example: source file is like this <?xml version="1.0"... (5 Replies)
Discussion started by: pyaranoid
5 Replies

10. Shell Programming and Scripting

Script needed to select and delete lower case and mixed case records

HELLO ALL, URGENTLY NEEDED A SCRIPT TO SELECT AND DELETE LOWER AND MIXED CASE RECORDS FROM A COLUMN IN A TABLE. FOR EXAMPLE : Table name is EMPLOYEE and the column name is CITY and the CITY column records will be: Newyork washington ... (1 Reply)
Discussion started by: abhilash mn
1 Replies
Login or Register to Ask a Question