What Cron Jobs are, why do i need to add them and how?


Staff member
What is a cron job?
A detailed explanation about crons is given in the wikipedia at http://en.wikipedia.org/wiki/Cron
Long story short, a cron is a task that runs at regular intervals on your linux server.
Being a task, it means that at the time it runs, it will do an action and in mailwizz case, this means it will send campaigns, process bounces, do cleanup and so on.

Why do i need to add them?
The reason why Mailwizz uses cron jobs is very simple, the tasks that it runs, to send campaigns for example, are tasks that can take a long time to execute and if you run these tasks as a regular web page, then not only we would need to interact with these pages in order to trigger the actions, but also it would mean we need to keep those pages open as long as they execute and that the execution might fail for a dozen of reasons (say script timeout, or memory limit, etc). Using cron jobs, all these actions are handled without our interaction and can run for unlimited time without the need of interaction.

How do i add them?
Adding cron jobs to your server can be done in various ways, the simplest one is from command line, but that can be a bit overwhelming for some people without linux/command line experience. The bright side is that, control panels like CPanel or Plesk will give you a web interface to add your cron jobs easier.
Youtube has a bunch of videos for CPanel, Plesk , DirectAdmin and others, so there shouldn't be a problem adding yours no matter what control panel you are using.
I changed servers and did not realize the site path was changed until my campaign was 'pending sent'. The cron path originally included /home4/ but the new server was on /home2/. Changing the cron paths in cpanel immediately fixed the issue.
the system is ispconfig my server when I add the cron job from ispconfig nothing to chhanger interface that is to say the campaign did not send it remains (pending-sending)
and when I add the cron since it shows me ssh
root @ vpsxxxxx: ~ # crontab -l mwcron
crontab: usage error: no arguments Permitted After This option
use crontab [-u user] file
crontab [-u user] [-i] {-e | -l | -r}
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
root @ vpsxxxxx: ~ # crontab -e
no crontab for root - using an empty one
No changes made
root @ vpsxxxxx: ~ # crontab -l
no crontab for root
root @ vpsxxxxx: ~ #
You should run
# see the crons
crontab -l -u YOUR_USER

# add 
crontab -e -u YOUR_USER
Where your user is the virtual user created by ispconfig under which you have added the cron jobs in the web interface.
i have a directadmin but now i do not know which line is command that i fill in command form in directadmin
for example one of the command is :
*/2 * * * * /usr/local/bin/php -q /home/hosseiny/domains/hosseinyazdi.ir/public_html/email/apps/console/console.php send-transactional-emails >/dev/null 2>&1
Which part of this do I need to enter for directadmin's command
Control panel that recommended not licensed pay ?;It is to hire a VPS, in the Atlantic or digitalocean company, and migrate the autoresponder.

In the current hosting I have multiple domains, but it is recommended only dedicated to the autoresponder.

Any suggestions?
I found there're two settings of Delivery:
1. backend/index.php/settings/cron
2. and backend/index.php/customers/groups
So which one will affect to the customers (Subscribers at once, Send at once, Emails per minute, etc)?
@Tantan - the settings from backend/index.php/customers/groups will inherit all the settings from backend/index.php/settings/cron
Basically backend/index.php/settings/cron are the base settings that you set as defaults and then in customer groups you can adjust them specifically for those groups.
as i'm on ipage an that is not giving access to cron i 'm like i'm going to change. What would the community suggest, not too expensive but still working solution?
Thancks a lot !