Introduction:
In some situation you may need to delete your mails that are older than the set amount of days from your control panel servers, leaving those mails that are not older than the value set on the server. The best way to achieve this is by simply creating the bash script on the servers and running the files on the server using console or adding cron job to run it automatically after some X amount of days or even often
How to run a Cron job?
Before planning to run a cron job scripts, first we should know the location where the emails are stored on the servers. Then we can execute the steps to remove those. Exactly there are only 3 folders in the control panel for managing received emails.
Those are 3 types:
To clear the older emails from the server, first you need to remove emails related files from cur folders. They are located under mail directories. There are two directories under the mail folders which are cur and new control panel default mail and same in each user domain directories.
/home/username/mail/kumar.com/***/cur. Here the three star represents the mail user folders.
Step 1:
Creating an exe file with commands to remove all emails:
Edit the file using any editors like notepad
Then change the file to an exe. You need to give the file permission has 755
Step2:
Create cron job
In this step we are setting the cron job and the set the amount of days the job need to run to find old emails. We can set at monthly, everyday depends upon how many mails you get in a day. To set the cron job we need to execute the following commands
In this scenario the mail cleaner will run on first day of every month and remove all emails that are more than 30 days
In some situation you may need to delete your mails that are older than the set amount of days from your control panel servers, leaving those mails that are not older than the value set on the server. The best way to achieve this is by simply creating the bash script on the servers and running the files on the server using console or adding cron job to run it automatically after some X amount of days or even often
How to run a Cron job?
Before planning to run a cron job scripts, first we should know the location where the emails are stored on the servers. Then we can execute the steps to remove those. Exactly there are only 3 folders in the control panel for managing received emails.
Those are 3 types:
- Cur: Having mails that are opened or read by the end user
- New: All new emails are received in the folder first
- Temp: Folder that contains the processed emails for the delivery purpose
To clear the older emails from the server, first you need to remove emails related files from cur folders. They are located under mail directories. There are two directories under the mail folders which are cur and new control panel default mail and same in each user domain directories.
/home/username/mail/kumar.com/***/cur. Here the three star represents the mail user folders.
Step 1:
Creating an exe file with commands to remove all emails:
Code:
# touch mailqueue.sh
Code:
# vim mailqueue.sh
find /home/username/mail/domainame.com/*/cur -type f -mtime +30 -exec rm -f {} \;
:wq
Code:
#chmod 755 /root/mailqueue.sh
Create cron job
In this step we are setting the cron job and the set the amount of days the job need to run to find old emails. We can set at monthly, everyday depends upon how many mails you get in a day. To set the cron job we need to execute the following commands
Code:
# crontab -e
0 0 1 * * /root/mailqueue.sh >
/dev/null 2>&1
: wq
# crontab -l