I\'ve written a big sql script that creates a CSV file. I want to call a cronjob every night to create a fresh CSV file and have it available on the website.
Say for
3 steps to do this right. Your backup will be executed every night while you sleep (or not)
STEP 1 : Create a stored procedure for your SQL
CREATE PROCEDURE backupCSV()
SELECT * INTO OUTFILE '/home/sites/example.com/www/files/backup.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM ( ....
STEP 2 : Create a script "/home/backupCSV.sh" to delete old file and call the stored procedure
echo "$(date +"%Y-%m-%d %T") START MAINTENANCE SCRIPT "
rm /home/sites/example.com/www/files/backup.csv
echo "$(date +"%Y-%m-%d %T") SUCCESS >> Old file deleted"
mysql --user=[user] --password=[password] [dataBaseName] --execute="CALL backupCSV();"
echo "$(date +"%Y-%m-%d %T") SUCCESS >> New file created"
echo "$(date +"%Y-%m-%d %T") END MAINTENANCE SCRIPT "
STEP 3 : Update Crontab to execute the script everyday
# m h dom mon dow user command
0 3 * * * root sh -x /home/backupCSV.sh
STEP 4 (optionnal) : thanks me ;)