Shell‑скрипты, Ansible, deployment‑сценарии и другие подходы к автоматизации задач администрирования.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Morty
- ст. лейтенант
- Сообщения: 1370
- Зарегистрирован: 2007-07-17 23:25:12
Непрочитанное сообщение
Morty » 2008-02-16 13:40:18
подскажите в чем проблема что не отрабатывает скрипт из крона
Код: Выделить всё
#!/bin/sh
#
# Delaem backup dumpi baz dannix mysql
#
current_year=`date '+%Y'`
current_month=`date '+%m'`
current_date=`date '+%d'`
# Delaem diru
backup_dir="/mnt/backup/mysqlbd/${current_year}/${current_month}/${current_date}"
mkdir -p ${backup_dir} 2>/dev/null
#
#
#
mysqldump -uadm -ppaswd BD_name > ${backup_dir}/BD_name.sql
ну и тут еще в таком же стиле 10 строк
хотя если самому зайти на серв и от рута запустить , то все класно отрабатывает
- и делаються папоочки и ложаться дампы соотвесные.
А из рутового крона только папки делаються , без дампов
Morty
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-02-16 13:57:11
пути к приложениям полные указывай.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
helloworld
- ст. сержант
- Сообщения: 368
- Зарегистрирован: 2007-10-03 8:06:37
- Откуда: Northern Colorado
Непрочитанное сообщение
helloworld » 2008-02-16 16:50:25
Странно но у меня тоже не работает дамп по крону
Код: Выделить всё
#!/bin/sh
/usr/local/bin/mysqldump -uuser -ppass db > /home/backup/mysql/db-"`date +%Y-%m-%d`".sql
в /etc/crontab
0 3 * * * root /root/scripts/mysql_backup.sh
helloworld
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-02-16 16:53:12
почему же у меня работает...
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Morty
- ст. лейтенант
- Сообщения: 1370
- Зарегистрирован: 2007-07-17 23:25:12
Непрочитанное сообщение
Morty » 2008-02-16 16:56:16
я у себя поправил скрипт, ночью крон сработает - отпишусь ...
сейчас лень время сдивгать
Morty
-
helloworld
- ст. сержант
- Сообщения: 368
- Зарегистрирован: 2007-10-03 8:06:37
- Откуда: Northern Colorado
Непрочитанное сообщение
helloworld » 2008-02-16 17:03:29
lissyara писал(а):почему же у меня работает...
ыть....в кронтабе у меня mysql_backup.sh, а сам скрипт называется mysql.sh
Сегодня ночью проверю
helloworld
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-02-17 0:17:42
Morty писал(а):я у себя поправил скрипт, ночью крон сработает - отпишусь ...
сейчас лень время сдивгать
э...
а на cfqxfc поставить - на через 5 минут, тока вместо команд перед ними поставить echo - не судьба?

Убей их всех! Бог потом рассортирует...
Alex Keda
-
Morty
- ст. лейтенант
- Сообщения: 1370
- Зарегистрирован: 2007-07-17 23:25:12
Непрочитанное сообщение
Morty » 2008-02-17 14:11:59
порядок -)
работает
рабочий скриптик
Код: Выделить всё
#!/bin/sh
#
# Delaem backup dumpi baz dannix mysql
#
current_year=`date '+%Y'`
current_month=`date '+%m'`
current_date=`date '+%d'`
#echo=/bin/echo
mysqldump="/usr/local/bin/mysqldump"
# Delaem diru
backup_dir="/mnt/backup/mysqlbd/${current_year}/${current_month}/${current_date}"
mkdir -p ${backup_dir} 2>/dev/null
#
${mysqldump} -uadm -ppaswd BD_name > ${backup_dir}/BD_name.sql
....еще 10 строк
Morty
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-02-17 15:12:12
на шелле есть хорошая конструкция
советую осваивать.
типа такого:
Код: Выделить всё
mail# more tst.sh
#!/bin/sh
for base_name in base1 base2 base3 base4
do
echo mysqldump ${base_name}
done
mail# sh tst.sh
mysqldump base1
mysqldump base2
mysqldump base3
mysqldump base4
mail#
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Morty
- ст. лейтенант
- Сообщения: 1370
- Зарегистрирован: 2007-07-17 23:25:12
Непрочитанное сообщение
Morty » 2008-02-17 15:46:00
ты прям мысли читаешь -)
я какраз пытался этим проникнуться , но пока сделал как написано , выше,
когда луче проникнусь "шелонаписанием" перепишу скрипт пограмотнее...
была еще задумка чтоб скрипт снимал имена БД , и писал в тмп например, а потом исходя от этого файла
снимал дампы этих баз, т.к. время от времени в МУСЕ появляються новые БД.
Morty
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-02-17 18:26:29
Код: Выделить всё
hosting# cat /usr/local/scripts/work/backup.sh
#!/bin/sh
day=`date '+%Y-%m-%d'`
lateday=`date -v-7d '+%Y-%m-%d'`
# Отмонтируем возможно примонтированный раздел
/sbin/umount -f /data >/dev/null 2>&1
# монтируем раздел сервера backup.local
/sbin/mount_nfs amd:/data/backups /data
rm -rf /data/`hostname`/$lateday
# Содаём директорию, куда будем класть архив
/bin/mkdir -p /data/`hostname`/$day
# Удаляем из неё файлы (если существуют)
rm /data/`hostname`/$day/success.sql >/dev/null 2>&1
rm /data/`hostname`/$day/success.tar >/dev/null 2>&1
# Архивим БД
cd /data/`hostname`/$day
/usr/local/bin/mysql --user=root --password=XXXXXX --skip-column-names \
--execute="SHOW DATABASES" | grep -v UTM |
{
while read database_name
do
/usr/local/bin/mysqldump --user=root --password=XXXXXXXXXX \
--quick --complete-insert --databases ${database_name} | \
bzip2 > ${database_name}.$day.sql.bz2 && \
touch /data/`hostname`/$day/success.${database_name}.sql
done
}
# Архивим сайты (реально - весь /usr/local/hosting/)
cd /usr/local/
tar --create --file=- hosting | bzip2 > \
/data/`hostname`/$day/usr.local.hosting.tar.bz2 && \
touch /data/`hostname`/$day/success.tar
hosting#
когда-то так делал...
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Morty
- ст. лейтенант
- Сообщения: 1370
- Зарегистрирован: 2007-07-17 23:25:12
Непрочитанное сообщение
Morty » 2008-02-17 19:46:21
класс ...
заберу себе, потточу местами конечно под себя
ЗЫ: сенкс
Morty
-
sid
- проходил мимо
Непрочитанное сообщение
sid » 2008-06-16 9:38:14
Абсолютные пути указывать надо в скриптах, которые кроном исполняютцо, не date - а /bin/date - и будет вам счастье ...
sid
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2008-06-23 0:29:00
Код: Выделить всё
#!/bin/sh
/usr/local/bin/wget "http://u"
/bin/rm cron.php
/usr/local/bin/wget "http://g"
/bin/rm cron.php
/usr/local/bin/wget "http://qu"
/bin/rm cron.php
/usr/local/bin/wget "http://w"
/bin/rm cron.php
не работает!

что делать?
а есть логи крона? в /var/log я не вижу
как перегрузить чтобы не перегружать систему если я внес настройки?? вожу crontab -e открываеться редактор vi
выводи такое, не понятно что
Код: Выделить всё
# crontab /etc/crontab
crontab: /etc/crontab must be edited manually: No such file or directory
Последний раз редактировалось
ProFTP 2008-06-23 0:58:31, всего редактировалось 4 раза.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-06-23 0:29:48
и ?
Убей их всех! Бог потом рассортирует...
Alex Keda
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2008-06-23 0:30:30
я добавил, откоректировал

Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2008-06-23 1:32:54
кажеться я зыбыл поставить пользовтеля от которого запускать...
но все таки как сделать чтобы настройки обновились или он сам обновляет??
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2008-06-23 5:54:06
ProFTP писал(а):но все таки как сделать чтобы настройки обновились или он сам обновляет??
он сам обновляет, тебе нужно только файл правильно отредактировать
zg
-
Alex Keda
- стреляли...
- Сообщения: 35501
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2008-06-23 8:24:45
Код: Выделить всё
more /var/cron/tabs/<логин юзера от которого хочешь запускать>
в студию.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2008-06-24 14:58:57
Код: Выделить всё
#!/bin/sh
/usr/local/bin/wget "http://u"
/bin/rm cron.php
/usr/local/bin/wget "http://g"
/bin/rm cron.php
/usr/local/bin/wget "http://qu"
/bin/rm cron.php
/usr/local/bin/wget "http://w"
/bin/rm cron.php
а к cron.php кто путь писать будет?
ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid