Created
May 5, 2014 07:33
-
-
Save pcreytens/b9666ac608e2c9ce7c74 to your computer and use it in GitHub Desktop.
Google Apps Script that removes Wordpress backups stored in Google Drive
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Script to remove older Wordpress backup files from Drive | |
http://wordpress.org/plugins/wp-google-drive/ | |
Only two latest versions are kept in Drive thru main() param | |
Philippe Creytens - 2014-01-21 | |
*/ | |
function deleteOlderBackupFiles(files, numberToKeep){ | |
var quantity = files.length; | |
//delete files | |
for (var j=0; j < quantity; j++){ | |
if (j >= numberToKeep) { | |
var removeFiles = DriveApp.getFilesByName(files[j].name); | |
while (removeFiles.hasNext()) { | |
var file = removeFiles.next(); | |
Logger.log(files[j]); | |
file.setTrashed(true); | |
} | |
} | |
} | |
} | |
/* Get all files and push on to stack as key:value */ | |
function retrieveBackupFiles() { | |
var files = DriveApp.searchFiles('title contains "Backup-WP"'); | |
var result = [] | |
while (files.hasNext()) { | |
var file = files.next(); | |
result.push({name:file.getName(),date:file.getDateCreated()}); | |
} | |
//sort by date descending | |
result.sort(function(a, b){ | |
var dateA=new Date(a.date), dateB=new Date(b.date) | |
return dateB-dateA // dateA-dateB is ascending | |
}) | |
return result; | |
} | |
/* main function is scheduled on interval daily between 6-7 AM */ | |
function removeWPBackups() { | |
files = retrieveBackupFiles(); | |
// Keep two backups | |
deleteOlderBackupFiles(files,2); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment