Skip to content

Instantly share code, notes, and snippets.

@Badb0yBadb0y
Created October 16, 2019 09:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Badb0yBadb0y/549fee0b1c3c8d53aad1365c91519bc1 to your computer and use it in GitHub Desktop.
Save Badb0yBadb0y/549fee0b1c3c8d53aad1365c91519bc1 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Create a list of the 30 days older files that I want to delete based on the stat command change date parameters. Later can delete from the willbedeleted directory
IFS=$'\n'
while read i
do printf "%s " "$i"
stat --format=%Z $i
done < <(/bin/find /data/owncloud/*/files -type f) > /root/script/newpurge/filelistwithchangeddate
# epoch date 30 days earlier than today
filetodelete=$(expr `date +'%s'` - 2592000)
# Files older than 30 days
/bin/awk -v epoch="$filetodelete" '$NF<epoch' /root/script/newpurge/filelistwithchangeddate > /root/script/newpurge/oldfiles
/bin/awk '{$NF=""}1' /root/script/newpurge/oldfiles > /root/script/newpurge/marktodelete
sed -i "s/[ ]\+$//g" /root/script/newpurge/marktodelete
today=$(date +%Y%m%d)
mkdir /data/willbedeleted/$today
cp -pr /root/script/newpurge/marktodelete /data/willbedeleted/$today/
while IFS= read -r i; do
mv -- "$i" /data/willbedeleted/$today/
done < /root/script/newpurge/marktodelete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment