
Ich versuche, alle 5 Minuten einen auszuführen, aber es scheint, als ob es nicht funktioniert. Ich versuche, den auszuführen, mysqldump
und es funktioniert einwandfrei.cron
mysqldump
mysqldump
mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +"%T"`.sql.gz
cron
*/5 * * * * mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +"%T"`.sql.gz
PROTOKOLL
May 17 04:35:42 CentOS-63-64-minimal crontab[5605]: (root) LIST (root)
May 17 04:40:01 CentOS-63-64-minimal CROND[5626]: (root) CMD (mysqldump -uroot -ppassword --single_transaction --opt dbname | gzip > /home/myhome/backup/dbname.`date +")
AKTUALISIEREN
Ich glaube, ich habe das Problem gefunden. Es liegt in date +"%T"
, denn wenn ich es durch ersetze, date -I
funktioniert es jetzt. Allerdings muss ich dem Dateinamen ein Datum und eine Uhrzeit anhängen.
Antwort1
Dies sollte ein Pfadproblem für den Cron-Eintrag sein.
Versuchen Sie , /usr/bin/mysqldump
anstelle von mysqldump
, /usr/bin/gzip
anstelle von gzip
nur und /usr/bin/date
anstelle von zu verwenden date
. Ändern Sie den Pfad entsprechend Ihrem System. Verwenden Sie den Befehl, whereis
um die Pfade für die Befehle zu finden.
Antwort2
Sie sollten Ihren Befehl in ein Skript einfügen, z. B. „backupmysql“, und dann diesen Eintrag in cron hinzufügen:
*/5 * * * * /Pfad/zu/BackupMySQL