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

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #45 -: Apr 13, 2007, 17:00 »
Моля Ви, не оставяйте темата така...

Знам че може би вече е досадно, но... проблема си е проблем, а и вече си мисля, че аз не бъркам нещо конкретно.
Активен

sunshine

  • Напреднали
  • *****
  • Публикации: 177
    • Профил
Crontab
« Отговор #46 -: Apr 13, 2007, 21:38 »
crontab-а с %F си върви перфектно при мен на федора и си прави резевно копие на postgresql.

#!/bin/sh
указва че ще ползваш този шел
ако имаш други шелове след него ще пуска шелове в шела
което може да ти даде грешка
#! указва ще следващите команди ще бъдат изпълнявани с тази програма

виж можеби правиш някаква дребна грешка (синтактична), ако не някой софтуер не ти работи както трябва друг да се заеме да ти оправи скрипта ако не можеш сам
Активен

IID_IUnknown

  • Напреднали
  • *****
  • Публикации: 18
    • Профил
Crontab
« Отговор #47 -: Apr 15, 2007, 00:13 »
Цитат (anakinn @ Април 06 2007,10:23)

cat arhive.sh
#!/bin/sh
#/usr/local/bin/gbak -B /var/db/firebird/inventory.fdb

# в началото на реда указва коментар, т.е. тази команда не се изпълнява.
Активен

sunshine

  • Напреднали
  • *****
  • Публикации: 177
    • Профил
Crontab
« Отговор #48 -: Apr 15, 2007, 11:00 »
Цитат

cat arhive.sh
#!/bin/sh
#/usr/local/bin/gbak -B /var/db/firebird/inventory.fdb

# в началото на реда указва коментар, т.е. тази команда не се изпълнява.


IID_IUnknown прав си (седнал в някой случаи  '<img'> ), но anakinn пита за #! на първия ред в скрипта иначе си е така  # забранява изпълнението на реда в други случаи е // или -- или /* респективно */
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #49 -: Apr 16, 2007, 11:17 »
Съжалявам - моя грешка, вече се..

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

tail -f /var/log/cron
Apr 16 11:17:37 KAR1 /usr/sbin/cron[45370]: (tmp.43582) ORPHAN (no passwd entry)
Apr 16 11:18:00 KAR1 /usr/sbin/cron[45373]: (root) CMD (/data/backup/archive.sh)

и пак няма резултат

Хайде някой да пусне една подобна команда в крона
примерно mkdir /aaaaaaa-`date +%F_%H:%M`
Активен

IID_IUnknown

  • Напреднали
  • *****
  • Публикации: 18
    • Профил
Crontab
« Отговор #50 -: Apr 16, 2007, 12:38 »
http://www.penguin-soft.com/penguin/man/1/gbak.print

с това не съм работил, но като гледам параметрите за базата ти са в environment променливи, които ги нямаш в обкръжението на крона ...
Просто цялата тази история смърди на липсващи environment variabltes.
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #51 -: Apr 16, 2007, 12:57 »
Ами не знам. Аз единствено бекъп/рестор - това правя.
А някакъв резултат от обикновен ред в крона, който да съдържа тези символи, има ли?

А това в началото на скрипта #!/bin/sh
може ли да се промени с #!/bin/bash csh, zsh - примерно?

Не съм наясно, затова питам.
Активен

sunshine

  • Напреднали
  • *****
  • Публикации: 177
    • Профил
Crontab
« Отговор #52 -: Apr 16, 2007, 13:17 »
Цитат

А това в началото на скрипта #!/bin/sh
може ли да се промени с #!/bin/bash csh, zsh - примерно?


може и точно така се сменя
зависи кой шел ще ти пуска командите
без значение дали е SH, BASH , CSH Или ниакой твой скрипт който да прави нещо друго с тези команди

а защо не работиш с копиране на директория или файл, а ползваш gbak ефекта ще е същия, ако не ще е по-добър



Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #53 -: Apr 16, 2007, 14:37 »
Искаш да кажеш да копирвам самия .fdb файл, вместо всеки път gbak - ще опитам

Принципно след gbak backup/restore базата се поизчиства и донякъде се пооптимизира. В началото беше малка, но вече стана 11-12мб

cron: (пробвах и само cp .......)
35      14      *       *       *       root    /bin/cp /var/db/firebird/inventory.fdb /data/backup/inventory-`date +%F`.fdb


tail -f /var/log/cron
Apr 16 14:34:00 KAR1 /usr/sbin/cron[45946]: (root) CMD (cp /var/db/firebird/inventory.fdb /data/backup/inventory-`date +)
Apr 16 14:34:28 KAR1 /usr/sbin/cron[45977]: (tmp.43582) ORPHAN (no passwd entry)
Apr 16 14:35:00 KAR1 /usr/sbin/cron[45984]: (root) CMD (/bin/cp /var/db/firebird/inventory.fdb /data/backup/inventory-`date +)
Apr 16 14:35:00 KAR1 /usr/sbin/cron[45985]: (root) CMD (/usr/libexec/atrun)

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

cat /etc/crontab
38      14      *       *       *       root    mkdir /aaaaaaaaaaaaaa-`date +%F`

tail -f /var/log/cron
Apr 16 14:37:12 KAR1 /usr/sbin/cron[46023]: (tmp.43582) ORPHAN (no passwd entry)
Apr 16 14:38:00 KAR1 /usr/sbin/cron[46030]: (root) CMD (mkdir /aaaaaaaaaaaaaa-`date +)
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #54 -: Apr 19, 2007, 17:49 »
Okey...
Хайде тогава като за край на темата, само да помоля някой да пусне някакъв ред в кронтаба с тези символи.


Благодаря !
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Crontab
« Отговор #55 -: Apr 19, 2007, 20:26 »
anakinn, прав си мой човек. :)

cron явно има проблем с процентите, трябва да му ги escape-неш.

Ей така:

* * * * * /bin/echo $(date +%F)

се получава същото като при тебе:

Apr 19 20:24:01 shtaiga /USR/SBIN/CRON[16076]: (sasoiliev) CMD (/bin/echo $(date +)

А ей така:

* * * * * /bin/echo $(date +\%F)

си работи.
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Crontab
« Отговор #56 -: Apr 19, 2007, 20:29 »
Ето и отговора:

http://webmaster.iu.edu/tool_guide_info/crontab.shtml

Цитат

The cron program runs the command named in the sixth field at the specified date and time. If you include a percent sign (%) in the sixth field, cron treats everything that precedes it (in that field) as the command invocation, and makes all that follows it available to standard input, unless you escape the percent sign (\%) or double quote it ("%"). An exclamation point (!) in the sixth field is translated as a newline char acter.

Note that the shell runs only the first line of the command field (up to a percent sign or End-of-Line). All other lines are made available to the command as standard input.
Активен

anakinn

  • Напреднали
  • *****
  • Публикации: 190
    • Профил
Crontab
« Отговор #57 -: Apr 20, 2007, 11:47 »
Hapkoc - Благодарности !

Много Голямо Благодаря на всички, които се включиха в темата. Радвам се че проблема е разрешен, надявам се пък да е било полезно и за другите.

Още веднъж ... Благодаря !
Активен

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