I have a crontab:
* * * * * /home/ipa/web/backup.sh > /dev/null 2>&1
(No it doesn't run every minute just testing here)
The backup.sh has this:
#!/usr/bin/env sh
sqlite3 /home/ipa/web/ipa_django/mysite/db.sqlite3 ".backup 'backup_file.sqlite3'"
src="/home/ipa/web/backup_file.sqlite3"
let seconds=$(date +%H)*3600+$(date +%M)*60+$(date +%S)
echo $seconds
filename="db.sqlite3"
echo $filename.$seconds
dest="/home/ipa/web/db_backups/"$filename.$seconds
cp $src $dest
cd /home/ipa/web/db_backups
tar -cvzf ipadbbackup.tar.gz $filename.$seconds
cd /home/ipa/web/
cp /home/ipa/web/db_backups/ipadbbackup.tar.gz ipadbbackup.tar.gz
rm /home/ipa/web/db_backups/$filename.$seconds
rm /home/ipa/web/db_backups/ipadbbackup.tar.gz
#rm "$srcfile"
/usr/bin/bash start-app.sh;
echo "Running email backup"
python2.7 backup_via_email.py
rm ipadbbackup.tar.gz
The idea is I copy the database to a scratch area, zip it up copy it to where another .py file can find it and email it off as a backup.
The problem is:
If I run this script from where it lives:
/home/ipa/web/
with a ./backup.sh
It works great, I get the file in my email works great:
db.sqlite3.77627
or what not... the problem is when it runs as a cron the file is not complete and the file name is:
db.sqlite3.
I cannot figure out what about it running as a cron is making it fail essentially? The file in the tar is also 2.1k smaller? So not sure what is going on... not even sure where to look.