Skip to content

Instantly share code, notes, and snippets.

@pcreytens
Created May 5, 2014 07:33
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 pcreytens/b9666ac608e2c9ce7c74 to your computer and use it in GitHub Desktop.
Save pcreytens/b9666ac608e2c9ce7c74 to your computer and use it in GitHub Desktop.
Google Apps Script that removes Wordpress backups stored in Google Drive
/*
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