Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: kenny 20 Srpna 2010, 10:08:46

Název: boj s cronem [vyřešeno]
Přispěvatel: kenny 20 Srpna 2010, 10:08:46
zdravim, mam velky problem, ktery se mi nedari vyresit a urcite je v tom jen nejaka blbost  ;)

mam skript, ktery kdyz spustim rucne jako root, tak vsechno probehne ok a vytvori se mi snapshot lvm svazku... Pokud ten skript dam do cronu uzivatele root, tak se to proste neprovede... navic soubor /root/skripty/mysql_log neobsahuje zadnou informaci

crontab -l vypada takhle

Kód: [Vybrat]
0 4 * * * '/root/skripty/mysql_backup.sh' >> /root/skripty/cron
mam tenhle skript
Kód: [Vybrat]
#!/bin/sh

date=`date +%Y%m%d`

# remove all from backup dir
rm -rf /var/mysqlbackups_localhost/* >> /root/skripty/mysql_log

# umount snapshot logic volume
umount /var/mysqlbackups_localhost/ >> /root/skripty/mysql_log

# remove snapshot logic volume
lvremove -f /dev/lvmdev1/dbbackup >> /root/skripty/mysql_log

# stop mysql in chroot environment
chroot /var/chroot/mysql/ service mysqld stop >> /root/skripty/mysql_log

# mysql status in chroot environment
# chroot /var/chroot/mysql/ service mysqld status

# create snapshot of logic volume
lvcreate -L16G -s -n dbbackup /dev/lvmdev1/5 >> /root/skripty/mysql_log

# start mysql in chroot environment
chroot /var/chroot/mysql/ service mysqld start >> /root/skripty/mysql_log

# mysql status in chroot environment
# chroot /var/chroot/mysql/ service mysqld status

# mount snapshot logic volume
mount /dev/lvmdev1/dbbackup /var/mysqlbackups_localhost/ >> /root/skripty/mysql_log

# create backup of snapshot logic volume
#nice -n 19 tar -Pcf /var/mysqlbackups_localhost/backup/mysql_snapshot-${date}.tar /var/mysqlbackups_localhost/mnt/

exit


diky za kazdou radu kenny  :)
Název: Re: boj s cronem
Přispěvatel: jmp 20 Srpna 2010, 10:10:00
dejte ke vsemu pne cesty
Název: Re: boj s cronem
Přispěvatel: kenny 20 Srpna 2010, 10:33:19
ok ale nepomohlo to

Kód: [Vybrat]
#!/bin/sh

# remove all from backup dir
/bin/rm -rf /var/mysqlbackups_localhost/* >> /root/skripty/mysql_log

# umount snapshot logic volume
/bin/umount /var/mysqlbackups_localhost/ >> /root/skripty/mysql_log

# remove snapshot logic volume
/sbin/lvremove -f /dev/lvmdev1/dbbackup >> /root/skripty/mysql_log

# stop mysql in chroot environment
/usr/sbin/chroot /var/chroot/mysql/ /sbin/service mysqld stop >> /root/skripty/mysql_log

# create snapshot of logic volume
/sbin/lvcreate -L16G -s -n dbbackup /dev/lvmdev1/5 >> /root/skripty/mysql_log

# start mysql in chroot environment
/usr/sbin/chroot /var/chroot/mysql/ /sbin/service mysqld start >> /root/skripty/mysql_log

# mount snapshot logic volume
/bin/mount /dev/lvmdev1/dbbackup /var/mysqlbackups_localhost/ >> /root/skripty/mysql_log

exit

Název: Re: boj s cronem
Přispěvatel: jmp 20 Srpna 2010, 10:47:26
co je v logach?
je to opravdu crontab roota?
Název: Re: boj s cronem
Přispěvatel: DuckD 20 Srpna 2010, 10:49:09
Ověř že cron běží
Kód: [Vybrat]
ps -ef | grep crond   
Ověř že za posledním záznamem v cronu je prázdná řádka, jinak cron nemusí fungovat
edituj crontab
Kód: [Vybrat]
crontab -edojdi na poslední řádek, měl by být prázdný, popřípadě odentruj a ulož
Název: Re: boj s cronem
Přispěvatel: kenny 20 Srpna 2010, 11:05:20
soubor mysql_log obsahuje tohle
 
Kód: [Vybrat]
Logical volume "dbbackup" successfully removed
Shutting down MySQL: ...^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" created
Starting MySQL: .,^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" successfully removed
Shutting down MySQL: ......^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" created
Starting MySQL: .,^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" successfully removed
Shutting down MySQL: ....^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" created
Starting MySQL: .,^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" successfully removed
Shutting down MySQL: ....[  OK  ]^M
  Logical volume "dbbackup" created
Starting MySQL: .,[  OK  ]^M
Shutting down MySQL: ...[  OK  ]^M
Starting MySQL: .,[  OK  ]^M
Shutting down MySQL: ...^[[87G[^[[1;32m  OK  ^[[0;39m]^M
Starting MySQL: .,^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" successfully removed
Shutting down MySQL: .....^[[87G[^[[1;32m  OK  ^[[0;39m]^M
  Logical volume "dbbackup" created
Starting MySQL: .,^[[87G[^[[1;32m  OK  ^[[0;39m]^M
Shutting down MySQL: ......[  OK  ]^M
Starting MySQL: .,[  OK  ]^

soubor /root/skripty/cron neobsahuje nic a stale stejny problem i po pridani prazdneho radku na konec crontabu

Kód: [Vybrat]
[root@ok1 ~]# crontab -u root -l
52 9 * * * '/root/skripty/mysql_backup.sh' >> /root/skripty/cron

Kód: [Vybrat]
[root@ok1 ~]# ps -ef | grep crond
root       891     1  0 Jul22 ?        00:00:05 crond
root     30187 21362  0 09:57 pts/1    00:00:00 grep --color crond

je to divne, manualne to funguje ale pres cron ne..
Název: Re: boj s cronem
Přispěvatel: Hejhula 20 Srpna 2010, 16:12:21
Problém bych viděl v tom, že v crontabu máš příkaz '/root/skripty/mysql_backup.sh' uzavřený mezi apostrofy.
Nebude to bez těch apostrofů lepší?
Název: Re: boj s cronem
Přispěvatel: kenny 23 Srpna 2010, 08:27:44
Problém bych viděl v tom, že v crontabu máš příkaz '/root/skripty/mysql_backup.sh' uzavřený mezi apostrofy.
Nebude to bez těch apostrofů lepší?
hejhula respekt  :) .. diiiiky moc a nejen tobe [SOLVED]