mirror of
				https://codeberg.org/Windfluechter/cleanup-mastodon-users.sh.git
				synced 2025-11-03 21:10:25 +00:00 
			
		
		
		
	Update README.md
This commit is contained in:
		
							parent
							
								
									dbe001ec88
								
							
						
					
					
						commit
						97b32348eb
					
				
							
								
								
									
										24
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								README.md
									
									
									
									
									
								
							@ -1,2 +1,24 @@
 | 
			
		||||
# cleanup-mastodon-users.sh
 | 
			
		||||
 Script to remove inactive users on your Mastodon server
 | 
			
		||||
Script to remove inactive users on your Mastodon server. This is a small cleanup script for Friendica node admins to help with forgotten or dead accounts. 
 | 
			
		||||
 | 
			
		||||
The script does two things: 
 | 
			
		||||
1. delete all users after 2 weeks that haven't logged in at all and didn't post anything.
 | 
			
		||||
2. search for accounts that haven't logged in for 6 months, send them a reminder mail and delete accounts that haven't logged within 7 months.
 | 
			
		||||
 | 
			
		||||
# Installation
 | 
			
		||||
* save the script in home directory of Mastodon (eg. ~/bin, not under /root, maybe /usr/local/bin)
 | 
			
		||||
* make the script executable (e.g. `chown mastodon:mastodon bin/cleanup-mastodon-users.sh && chmod u+rx bin/cleanup-mastodon-users.sh)`
 | 
			
		||||
* create a crontab to execute the script, e.g.: `20 8    * * 4   /home/mastodon/bin/cleanup-mastodon-users.sh --dowhatimean` to execute the script every week. In the example it is executed every Thursday (4th day of week) at 8:20 in the morning. 
 | 
			
		||||
* for the first runs you should set `UPPERLIMIT` to a high number and keep the deleting of the user commented out (`${mastodonpath}/bin/tootctl accounts delete "${username}"`). After the first few runs you can reduce `UPPERLIMIT` to a lower setting and repeat this until you reached the final value. You shouldn't have too many weeks between `LOWERLIMIT` and `UPPERLIMIT`. Sensible values might be 6 and 7 months or 12 and 13 months or so.  
 | 
			
		||||
* change the variables at the begin of the script to your site settings. 
 | 
			
		||||
 | 
			
		||||
# Usage
 | 
			
		||||
```
 | 
			
		||||
Usage:
 | 
			
		||||
 --dry-run      : make a dry-run, no deletion will be done, no mails are sent.
 | 
			
		||||
 --dowhatimean  : add this option if you really want to delete users.
 | 
			
		||||
 ```
 | 
			
		||||
 | 
			
		||||
# Other useful tips
 | 
			
		||||
* you can change the mail command from `-b ${siteadmin} -- ${usermail}` to `-- ${siteadmin}` and comment out all lines with `bin/console user delete` statement for testing runs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user