Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: 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
0 4 * * * '/root/skripty/mysql_backup.sh' >> /root/skripty/cron
mam tenhle skript
#!/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 :)
-
dejte ke vsemu pne cesty
-
ok ale nepomohlo to
#!/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
-
co je v logach?
je to opravdu crontab roota?
-
Ověř že cron běží
ps -ef | grep crond
Ověř že za posledním záznamem v cronu je prázdná řádka, jinak cron nemusí fungovat
edituj crontab
crontab -edojdi na poslední řádek, měl by být prázdný, popřípadě odentruj a ulož
-
soubor mysql_log obsahuje tohle
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
[root@ok1 ~]# crontab -u root -l
52 9 * * * '/root/skripty/mysql_backup.sh' >> /root/skripty/cron
[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..
-
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ší?
-
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]