Da gibts vielleicht fertige programme dafür (bacula oder so was)
oder sowas in der Art:
Code: backup.sh
- tar cfz /destination/directory/file.tgz -C /source/directory folder
- #Put the directory into an easy-to-use TAR file (replace "/source/directory folder" with the source folder name that exists inside /source/directory)
- if [ $(date +%d) -lt 8 ] && [ $(date +%A) == "Monday" ]
- then
- cp /destination/directory/file.tgz /destination/directory/archive/monthly$(date +%m_%Y).tgz
- exit
- fi
- #If the day of the month is less than 8, and current day is Monday name it as Monthly
- find /destination/directory/archive -iname "monthly*.tgz" -mtime +365 -exec rm {} \;
- #Find and Delete any Monthly Backups older than 1 year
- cp /destination/directory/file.tgz /destination/directory/archive/$(date +%A%m_%d_%Y)file.tgz
- #Copy the Staged file, and name it with Today's date
- find /destination/directory/archive -iname "$(date +%A)*.tgz" -mtime +6 -exec rm {} \;
- #Find and Delete any Backups of today's day name older than 1 weeks
das ganze dann per cron daily laufen lassen und voila.
Code bitte überprüfen und entsprechend anpassen!
Übernehme keine Haftung etc. für Schäden!
PS.: Hab das auch nur schnell kopiert Pass auf, dass immer genug Speicherplatz vorhanden ist, das ganze kann sich schön aufblasen!
LG