Why cron doesn’t work to me?

Do you have define('DISABLE_WP_CRON', true); set in wp-config? You need it to have the system cron fire up the wp-cron tasks. Go to the bottom of the database settings in wp-config.php, typically around line 37, and add it.

Then setup the system cron to fire up the wp-cron tasks:

*/5 * * * * wget -q -O - "http://example.com/wp-cron.php?t=`date +\%s`" > /dev/null 2>&1

#Sometimes it might be required to run PHP directly:
*/5 * * * * php /home/$USER/public_html/wp-cron.php

?doing_wp_cron is appended only automatically when you define ALTERNATE_WP_CRON as true in wp-config.php. Since you are disabling it entirely, you want to use the URL above instead or the 2nd method, which dispenses parameters.

If you’re on a development environment and want to output debug information, calling it manually like that will show you your debug output.

Alternatively you can use PHP’s built-in error_log function to log message strings to the error log for debugging. You’d need to use this in conjunction with WP_DEBUG settings.

If you need further help debugging it, try this question.