Am un crontab:
* * * * * /home/ipa/web/backup.sh > /dev/null 2>&1
(Nu, nu rulează în fiecare minut doar testând aici)
Backup.sh are asta:
#!/usr/bin/env sh
sqlite3 /home/ipa/web/ipa_django/mysite/db.sqlite3 „.backup „backup_file.sqlite3””
src="/home/ipa/web/backup_file.sqlite3"
lasă secunde=$(data +%H)*3600+$(data +%M)*60+$(data +%S)
echo $secunde
filename="db.sqlite3"
echo $nume fișier.$secunde
dest="/home/ipa/web/db_backups/"$filename.$secunde
cp $src $dest
cd /home/ipa/web/db_backups
tar -cvzf ipadbbackup.tar.gz $filename.$secunde
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 „Rulează backup e-mail”
python2.7 backup_via_email.py
rm ipadbbackup.tar.gz
Ideea este să copiez baza de date într-o zonă de zero, să o zip, să o copiez unde o poate găsi un alt fișier .py și să o trimit prin e-mail ca rezervă.
Problema este că:
Dacă rulez acest script de unde locuiește:
/home/ipa/web/
cu un ./backup.sh
Funcționează excelent, primesc fișierul în e-mail, funcționează grozav:
db.sqlite3.77627
sau ce nu... problema este că atunci când rulează ca cron fișierul nu este complet și numele fișierului este:
db.sqlite3.
Nu pot să-mi dau seama ce despre rularea ca un cron îl face în esență să eșueze? Fișierul din tar este și cu 2.1k mai mic? Deci nu sunt sigur ce se întâmplă... nici măcar nu sunt sigur unde să caut.