diff --git a/interactiveRules/purgeTrashAdmin.r b/interactiveRules/purgeTrashAdmin.r
new file mode 100644
index 0000000000000000000000000000000000000000..1047265a0aa1c16134f9933eb6a1dc44f262c198
--- /dev/null
+++ b/interactiveRules/purgeTrashAdmin.r
@@ -0,0 +1,55 @@
+purgeTrashAdmin{
+    on(userType($userNameClient)=="rodsadmin"){
+        if(*grace == 0){*grace = 30 * 24 * 60 * 60}
+        msiGetSystemTime(*now, *status);
+        *cutoff = int(*now)-*grace;
+        *abspath = "/$rodsZoneClient/trash"
+        writeLine("serverLog",
+                  "PURGETRASH: Delete all trashed files older than *cutoff");
+        purgeTrash(*cutoff, $userNameClient);
+    }
+}
+
+userType(*user){
+    foreach(*row in SELECT USER_TYPE where USER_NAME like "*user"){
+        *type=*row.USER_TYPE;
+    }
+    *type; #return value
+}
+
+
+purgeTrash(*cutoff, *user){
+    # Purges the trash of all users
+    *abspath = "/$rodsZoneClient/trash"
+    foreach(*row in SELECT COLL_NAME, DATA_NAME, DATA_MODIFY_TIME where COLL_NAME like "*abspath/%"){
+        *objAccessTime = int(*row.DATA_MODIFY_TIME);
+        *coll = *row.COLL_NAME;
+        *obj = *row.DATA_NAME;
+        *path = "*coll/*obj";
+        if(int(*cutoff) > int(*objAccessTime)){
+            writeLine("serverLog", "PURGETRASH: Permanently deleting *path");
+            msiSetACL("default", "admin:own", "*user", "*path");
+            msiDataObjUnlink("*path++++forceFlag=", *status);
+        }
+        writeLine("serverLog","Check *coll");
+        deleteEmptyColl(*coll);
+    }
+
+    msiDeleteUnusedAVUs();
+}
+
+deleteEmptyColl(*abspath){
+    # Deletes a collection tree if no data objects are stored there.
+    foreach(*row in SELECT count(DATA_NAME) where COLL_NAME like "*abspath%"){
+        *count = *row.DATA_NAME;
+    }
+    if(int(*count) == int(0)){
+        writeLine("serverLog", "*abspath: DELETE");
+        msiRmColl(*abspath, "irodsAdminRmTrash=++++forceFlag=", *status);
+        msiDeleteUnusedAVUs();
+    }
+}
+
+INPUT *grace=0
+OUTPUT ruleExecOut
+