Editing How to create a Recycle Bin (or Trash can) for the CLI rm command
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 7: | Line 7: | ||
==Overview of the Mod== | ==Overview of the Mod== | ||
#Create a directory to hold any deleted files/directories | #Create a directory to hold any deleted files/directories | ||
#Create a directory to store your | #Create a directory to store your sript which will effectively replace the rm command | ||
#Create a script to be called instead of the rm command which '''moves''' files or directories into the recycle bin directory | #Create a script to be called instead of the rm command which '''moves''' files or directories into the recycle bin directory | ||
#Set an alias to call your script every time the rm command is used | #Set an alias to call your script every time the rm command is used | ||
#Set a cronjob to regularly remove/purge (actually delete) files/directories older that X days old from the recycle bin (in this example I use 7 days but you could configure what you want) | #Set a cronjob to regularly remove/purge (actually delete) files/directories older that X days old from the recycle bin (in this example I use 7 days but you could configure what you want) | ||
#If you have the knowledge and need you can modify the script to limit diskspace used by the recycle bin, or perhaps purge it based on a diskspace limit, rather than age. If you do add this functionality please add it to this wiki. | #If you have the knowledge and need you can modify the script to limit diskspace used by the recycle bin, or perhaps purge it based on a diskspace limit, rather than age. If you do please add this functionality please add it to this wiki. | ||
==Limitations== | ==Limitations== | ||
Line 28: | Line 27: | ||
#Enable the Command Line Interface | #Enable the Command Line Interface | ||
#Login to the CLI as root | #Login to the CLI as root | ||
#Change directory to your script folder, e.g. "cd /volume1/my_scripts" | #Change directory to your script folder, e.g. "cd /volume1/my_scripts" | ||
#Use vi to create a script file rm_replacement.sh, e.g. "vi rm_replacement.sh" | #Use vi to create a script file rm_replacement.sh, e.g. "vi rm_replacement.sh" | ||
Line 35: | Line 32: | ||
#Save changes to the file and close vi, e.g. press [ESC] and then type "ZZ". Note: capital Z's | #Save changes to the file and close vi, e.g. press [ESC] and then type "ZZ". Note: capital Z's | ||
#Now give the script file execution privileges, "chmod 700 rm_replacement.sh" | #Now give the script file execution privileges, "chmod 700 rm_replacement.sh" | ||
#Now add the alias command to | #Now add the alias command to your .profile file, e.g "vi ~/.profile", and then add at the bottom of the file "alias rm='sh /volume1/my_scripts/rm_replacement.sh'". Note the single quote at the end of this line! | ||
#Close the CLI session and re-open it again to get ash to read the modified .profile file | #Close the CLI session and re-open it again to get ash to read the modified .profile file | ||
#Your script will now run instead of rm, try "rm -h" to get the help. If you want to check its operation by creating a directory and some files and delete them using rm. Check the content of the RecycleBin with "dir /volume1/RecycleBin". | #Your script will now run instead of rm, try "rm -h" to get the help. If you want to check its operation by creating a directory and some files and delete them using rm. Check the content of the RecycleBin with "dir /volume1/RecycleBin". | ||
Line 132: | Line 129: | ||
#minute hour mday month wday who command | #minute hour mday month wday who command | ||
0 0 * * 5 root /usr/sbin/ntpdate -b time.nist.gov | 0 0 * * 5 root /usr/sbin/ntpdate -b time.nist.gov | ||
1 0 * * * root | 1 0 * * * root find /volume1/RecycleBin/ -mtime +7 -type f -exec rm "{}" ";" | ||
</pre> | </pre> | ||