I have two IP security cameras that each take a snapshot every 3 seconds and FTP it to my linux server. This generates approximately 85,000 images per day. I've written a very rough backup script to perform the following functions at the end of each day:
1) Delete the old DAY.TAR.GZ (i.e. Monday would delete last week's Monday.tar.gz)
2) Tar all of the current day's image files into DAY.TAR.GZ
3) Delete all of the current day's image files.
This repeats every day, so I always have 7 days worth of surveillance stills to go back and review if needed. Monday.tar.gz, Tuesday.tar.gz, Wednesday.tar.gz, etc etc.
The script works great except for the deleting of the current day's photos. Originally I was running an rm -f /var/www/photosvcs/*.jpg that was supposed to delete all of the JPG image files from the directory, but the argument list was too long so it would fail. Eventually I ran out of disk space as nothing was being deleted but everything was being backed up each night. Not a good situation.
I found a workaround to get past the 'Too Many Arguments' error for rm, which was to do a find and print the results to delete everything individually. I'm posting a snippet of my cron to show what I am doing currently. It's still not working, though, which is why I'm here. I'm actually not getting any errors from this, the files just aren't being deleted.
I know this script is bulky but I'm by no means a script coding kind of guy. Did what I thought logically should work, so now I'm asking for help. Any thoughts or suggestions would be greatly appreciated!
Have a great day.
# Remove previous week's backup (MONDAY 11:50pm)
50 23 * * 1 /bin/rm -f /var/www/monday.tar.gz
# Backup current day's photos (MONDAY 11:55pm)
55 23 * * 1 /bin/tar -zcpf /var/www/monday.tar.gz /var/www/photos
# Delete current day's photo files (MONDAY 11:59pm)
59 23 * * 1 cd /var/www/photos | find . -name '*jpg' | xargs rm -f