Strona 1 z 2

Nie działa automatyczna kopia zapasowa danych za pomocą crona

: 26 marca 2010, 20:26
autor: shyte
Tak mam ustawioną automatyczną kopię zapasową danych na serwerze. Zawartość pliku backup.sh nizej, ale nie działa tzn. nie wykonuje się kopia.


C
o jest może być nie tak?

Kod: Zaznacz cały

# Login do mysql
LOGIN="vb"
# Haslo
PASSWORD='Tm\hgw42$gj/LjvjUG5i+u^k;w8n7{1sa0Ah{+9?d]!O^cYOJwWFQRQw;qJNfd5f3=mS^{A=7gM2icjRz5}?pFd*WNI2Rf8nd)6=9\*IeHdnKm59[UR/$V^PbCjSI_6M'
# Kazwa bazy
DBNAME="vb"
# Katalog gdzie sa backupy
BACKUP_DIR="/home/backup"
# Ilosc backupow
COUNT="7"


export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

rm -f ${BACKUP_DIR}/baza-${COUNT}.sql.gz

while [ "${COUNT}" -gt "0" ];
do
    COUNT=$(($COUNT - 1))
    mv "${BACKUP_DIR}/baza-${COUNT}.sql.gz" "${BACKUP_DIR}/baza-$((COUNT + 1)).sql.gz"
done

mysqldump "--user=${LOGIN}" "--password=${PASSWORD}" ${DBNAME} | gzip -c > "${BACKUP_DIR}/baza-0.sql.gz"

: 26 marca 2010, 22:31
autor: db
Skrypt jest generalnie poprawny. W jaki sposób wywołujesz backup.sh z crona?

: 28 marca 2010, 11:12
autor: shyte
Nie wiem jak wywołać tworzenie kopii z crona bo to jakiś czas temu miał mi ustawione znajomy na serwerze, na 3 nad ranem ze samo codziennie się wykonywało i działało normalnie, jak zmienić godzinę i uruchomić to w cronie?

: 28 marca 2010, 11:28
autor: Redhead
Edytuj

Kod: Zaznacz cały

$crontab -e
00 3 * * * /path/script
Sprawdź crona

Kod: Zaznacz cały

crontab -l

: 28 marca 2010, 11:48
autor: shyte

Kod: Zaznacz cały

root@h1674691:~# crontab -l
12,27,42,57     *       *       *       *       /opt/psa/admin/sbin/backupmng >/dev/null 2>&1
07      03      *       *       *       /home/backup/backup.sh 2>&1 > /dev/null
root@h1674691:~#
Edytować:

Kod: Zaznacz cały

$crontab -e
00 3 * * * /path/script
i co tam zmienić?
Bo taka zawartość jest:

Kod: Zaznacz cały

00 3 * * * /path/script

: 28 marca 2010, 11:53
autor: Redhead
A w cronie nie powinny być spacje zamiast tabulacji?
Ta druga kopia ci działa?

: 28 marca 2010, 11:57
autor: shyte
Nie wiem czy nie powinny być spacie wcześniej chodziło dobrze
Jak drugi backup? nie rozumie teraz to backup mi sie sam nie robi o ustalonej godzinie
sam go robię codziennie przez ssh ale nudzi mnie to robienie ręcznie dla tego chce to w cronie ustawić

: 28 marca 2010, 12:03
autor: Redhead

Kod: Zaznacz cały

crontab -l
# m h  dom mon dow   command
30 13 * * sun,wed,fri ./cronbackupscript.sh
58      10      *       *       *       /bin/echo pupa
Pierwsza linia tworzenia kopii zapasowej działa
Druga linia nie działa, bo ma tabulacje zamiast spacji między odstępami czasu.

A co do twojego crona.

Kod: Zaznacz cały

root@h1674691:~# crontab -l
12,27,42,57     *       *       *       *       /opt/psa/admin/sbin/backupmng >/dev/null 2>&1
07      03      *       *       *       /home/backup/backup.sh 2>&1 > /dev/null
root@h1674691:~#
To masz dwie linie, czyli dwa polecenia i między nimi tabulacje
Zrób:

Kod: Zaznacz cały

07 03 * * * /home/backup/backup.sh 2>&1 > /dev/null

: 28 marca 2010, 12:08
autor: shyte
Jak potem uruchomić crona?

: 28 marca 2010, 12:11
autor: Redhead
Jednak jak sprawdziłem na tabulacji też działa.
Crona sie nie uruchamia, on sam chodzi non stop i co minute sprawdza odpowiednie czasy i procesy z pliku konfiguracyjnego.
Także powinieneś mieć wszystko w porządku.
Dodac sobie np.

Kod: Zaznacz cały

8    11    *    *    *    /bin/echo test
a zobaczysz że działa. Powinienes dostać maila na skrzynke użytkownika, na którego jest ustawiony cron.