Автор Тема: Crontab  (Прочетена 16577 пъти)

daxen

  • Напреднали
  • *****
  • Публикации: 31
    • Профил
Crontab
« Отговор #30 -: Apr 03, 2007, 11:49 »
Пробвай в archive.sh да слоиш това
Примерен код

#!/bin/bash
DAY=`date +%d`
MONTH=`date +%m`
YEAR=`date +%Y`
TIME=`date +%T`
GBAK="/usr/local/bin/gbak"
file_name=/data/backup/invenory-$DAY-$MONTH-$YEAR-$TIME.fbk
location="/var/db/firebird/inventory"

$GBAK -b $location $file_name




Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #31 -: Apr 03, 2007, 14:35 »
cat arch.sh
#!/bin/bash
DAY=`date +%d`
MONTH=`date +%m`
YEAR=`date +%Y`
TIME=`date +%T`
GBAK="/usr/local/bin/gbak"
file_name=/data/backup/invenory-$DAY-$MONTH-$YEAR-$TIME.fbk
location="/var/db/firebird/inventory.fdb"

$GBAK -b $location $file_name


cat /var/log/cron
Apr  3 14:25:00 KAR1 /usr/sbin/cron[97369]: (root) CMD (/usr/libexec/atrun)
Apr  3 14:26:00 KAR1 /usr/sbin/cron[96528]: (*system*) RELOAD (/etc/crontab)
Apr  3 14:26:00 KAR1 /usr/sbin/cron[96528]: (tmp.43582) ORPHAN (no passwd entry)
Apr  3 14:26:30 KAR1 /usr/sbin/cron[97421]: (tmp.43582) ORPHAN (no passwd entry)
Apr  3 14:27:00 KAR1 /usr/sbin/cron[97425]: (root) CMD (arhive.sh)
Apr  3 14:30:00 KAR1 /usr/sbin/cron[97473]: (root) CMD (/usr/libexec/atrun)
Apr  3 14:33:00 KAR1 /usr/sbin/cron[97515]: (operator) CMD (/usr/libexec/save-entropy)
Apr  3 14:35:00 KAR1 /usr/sbin/cron[97571]: (root) CMD (/usr/libexec/atrun)



А ако го пусн
sh arch.sh - създава файла...

Не знам вече

Да пробвам някаква друга алтернатива на крон?
Или пък да си ъпдейтна цялата система - портове, пакети
така може някаква промяна по cron-а да се направи...
/което пък не знам точно как става/
първо cvsup, после buildkernel, installkerne, buildworld?



Активен

sunshine

  • Напреднали
  • *****
  • Публикации: 177
    • Профил
Crontab
« Отговор #32 -: Apr 03, 2007, 15:50 »
мен ми се струва че имаш проблеми със cron или със правата за достъп

каквото и да пробваш повече няма да стане, защото си направил вече основните комбинации от кадето идва проблема
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #33 -: Apr 03, 2007, 15:56 »
И аз си мисля, че имам някакъв друг проблем.
cron-а си работи, защото ако му задам да създава директории или разни други такива неща няма проблем. Той дори прави самия бекъп. Даже най-вероятно така ще го оставя. Т.е. те ще се презаписват.

Тук малко ще се отклоня от темата /почти го преживях тоя крон/ може ли накратко обяснение как да си ъпдейтна цялата система - портове, пакети, системни файлове, .conf-ове.
и ако го направя - старите конфове ще ми се запазят ли?
Активен

IID_IUnknown

  • Напреднали
  • *****
  • Публикации: 18
    • Профил
Crontab
« Отговор #34 -: Apr 03, 2007, 16:40 »
Погледни си последната извадка от лога и сам си отговори на въпроса какво е различното между твоя скрипт и останалите, които се изпълняват.
Крон демона идея си няма къде ти се намира скрипта, който искаш да изпълниш, дай му пълния път до него в командата. Целия ти проблем идва от това, че не ползваш пълните пътища, разчитайки на environment-а (който обаче крона не го вдига)
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #35 -: Apr 04, 2007, 16:16 »
Значи описах пълния път то скрипта, но това съм го правил


 ./data/backup/arhive.sh
zsh: no such file or directory: ./data/backup/arhive.sh

Това е крона:
Apr  4 16:07:49 KAR1 /usr/sbin/cron[4885]: (tmp.43582) ORPHAN (no passwd entry)
Apr  4 16:08:00 KAR1 /usr/sbin/cron[4888]: (root) CMD (/data/backup/arhive.sh)


Мислех си да го направя по следния начин. Създавам файла само с името invenntory.fbk и после в cron
mv inventory.fb .... нещо със датата
м?
Активен

IID_IUnknown

  • Напреднали
  • *****
  • Публикации: 18
    • Профил
Crontab
« Отговор #36 -: Apr 04, 2007, 21:54 »
И за какво ти е тази точка отпред?
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #37 -: Apr 05, 2007, 09:18 »
Ами нали така се стартирват файлове
точка "." и тогава файла?

В кронтаба пробвах със и без "."

10      9      *       *       *       root    /data/backup/arhive.sh
00      22      *       *       *       root    /usr/local/bin/gbak -B /var/db/firebird/inventory.fdb /data/backup/inventory.fbk

С mv няма ли как да се получи номера?
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Crontab
« Отговор #38 -: Apr 05, 2007, 09:41 »
Само да вметна... anakinn, изпълними файлове се изпълняват по 2 начина:
1. Отиваш в папката, където е файла (cd /bla/bla/bla) и изпълняваш файла с ./file
2. Независимо къде се намираш, изпълняваш файла с /bla/bla/bla/file
Когато изписваш пълния път до файла, не се пише точка отпред  ':xclam:'

Не каза какво стана с примера, който ти дадох? Благодаря на Hapkoc, че ме поправи, понякога недоглеждам  '<img'>
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #39 -: Apr 05, 2007, 11:55 »
Благодаря за разяснението.

Т.е. както е сега в кронтаба /просто сменям времето и /etc/rc.d/cron restart/ е правилно нали така?

Примера имаш предвид скобите вместо % ?
Пак нямаше ефект...

М/у другото пробвах на една друга машина FreeBSD 6.2 и там крон-а не може да се справи със %-та

Предполагам станах доста банален с този крон, но такова нещо не ме яло толкова време.

Okey - може ли да помоля някой от Вас, да пусне нещо в крона - примерно - tar cvfz /../../../file date + %F и т.н.
за да видим как ще реагира?
Активен

GoodT

  • Напреднали
  • *****
  • Публикации: 361
    • Профил
Crontab
« Отговор #40 -: Apr 05, 2007, 17:05 »
Защо си мисля, че проблема ти е от дребните грешки:
. . .
cat arhive.sh
#!/bin/sh
/usr/local/bin/gbak -B /var/db/firebird/inventory.fdb /data/backup/inventory-`date + %F_%H:%M`.fbk
. . .
Има интервал между + и % , а не трябва.
Иначе cron-a стартира скрипта:
Apr  3 09:20:00 KAR1 /usr/sbin/cron[96533]: (root) CMD (/data/backup/archive.sh)
Съвет: стартирай си скрипта от шела: #sh /data/backup/archive.sh  и виж какво става и какво не става '<img'>



Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #41 -: Apr 05, 2007, 18:19 »
Махнах интервала
KAR1# cat arhive.sh
#!/bin/sh
/usr/local/bin/gbak -B /var/db/firebird/inventory.fdb /data/backup/inventory-`date +%F_%H:%M`.fbk

KAR1# tail -f /var/log/cronApr  5 18:11:00 KAR1 /usr/sbin/cron[9864]: (operator) CMD (/usr/libexec/save-entropy)
Apr  5 18:15:00 KAR1 /usr/sbin/cron[9895]: (root) CMD (/usr/libexec/atrun)
Apr  5 18:15:48 KAR1 /usr/sbin/cron[9923]: (tmp.43582) ORPHAN (no passwd entry)
Apr  5 18:16:00 KAR1 /usr/sbin/cron[9926]: (root) CMD (/data/backup/archive.sh)
Apr  5 18:16:42 KAR1 /usr/sbin/cron[9954]: (tmp.43582) ORPHAN (no passwd entry)
Apr  5 18:17:00 KAR1 /usr/sbin/cron[9957]: (root) CMD (/data/backup/archive.sh)


Създава файл, но с такова име
KAR1# ll
total 1082
-rwxr-xr-x  1 root  wheel   108B Apr  5 18:14 arhive.sh
-->  -rw-r--r--  1 root  wheel   320K Apr  5 18:13 inventory-.fbk  <--
-rwxrwxrwx  1 root  wheel   298K Apr  4 22:00 inventory.fbk

последния файл /inventory.fdb/ го правя просто с този ред в крона:
00      22      *       *       *       root    /usr/local/bin/gbak -B /var/db/firebird/inventory.fdb /data/backup/inventory.fbk
Активен

GoodT

  • Напреднали
  • *****
  • Публикации: 361
    • Профил
Crontab
« Отговор #42 -: Apr 05, 2007, 23:30 »
План "Б" '<img'>
След като си създаваш /data/backup/inventory.fbk просто си го премествай с датата.
Промени си скриптчето /data/backup/archive.sh :
#!/bin/sh
mv /data/backup/inventory.fbk /data/backup/inventory-`date +%F`.fbk

Да има и права за изпълнение: #chmod u+x /data/backup/archive.sh  , ако няма.
Запиши го в /etc/crontab с 5 мин. по късно (примерно) от създаването.
ако - 00       22       *        *        *       root    /usr/local/bin/gbak -B /var/db/firebird/inventory.fdb /data/backup/inventory.fbk
то -   05     22     *     *      *      root    /data/backup/archive.sh
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #43 -: Apr 06, 2007, 09:23 »
tail -f /var/log/cron
Apr  6 09:15:00 KAR1 /usr/sbin/cron[12033]: (root) CMD (/usr/libexec/atrun)
Apr  6 09:19:47 KAR1 /usr/sbin/cron[12134]: (tmp.43582) ORPHAN (no passwd entry)
Apr  6 09:20:00 KAR1 /usr/sbin/cron[12156]: (root) CMD (/data/backup/archive.sh)
Apr  6 09:20:00 KAR1 /usr/sbin/cron[12157]: (root) CMD (/usr/libexec/atrun)

cat arhive.sh
#!/bin/sh
#/usr/local/bin/gbak -B /var/db/firebird/inventory.fdb /data/backup/inventory-`date +%F_%H:%M`.fbk

Пробвах и с "/bin/mv"

Пак не става, ако стартирам скрипта ръчно
/data/backup/archive.sh - го мести

А само да попитам
Защи започваме с
#!/bin/sh , след като това са ми шеловете?
/bin/sh
/bin/csh
/bin/tcsh
/sbin/nologin
/usr/local/bin/zsh
/usr/local/bin/bash
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #44 -: Apr 11, 2007, 13:38 »
Някой пробва ли кронтаба с ред съдържащ "%F" ?
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
crontab setting
Настройка на програми
vox 5 2481 Последна публикация Aug 24, 2011, 09:56
от b2l
crontab
Настройка на програми
dwni2 18 4098 Последна публикация Feb 25, 2012, 18:22
от laskov
crontab pomosht
Кошче
klnnnnng 1 1980 Последна публикация Dec 20, 2012, 02:15
от dejuren
sleep 52 в командата за crontab ?
Настройка на програми
bILLY 2 1655 Последна публикация Dec 05, 2014, 21:49
от bILLY
crontab -e
Настройка на програми
Bogo 7 3311 Последна публикация Nov 13, 2018, 09:25
от 4096bits