|   |   | 
| 
 | Помогите с вопросом по Linux | ☑ | ||
|---|---|---|---|---|
| 0
    
        Rizhij_Nikitos 08.12.11✎ 13:04 | 
        Пусть у меня есть скрипт который строит отчет, нужно чтобы он строил этот отчет и сохранял в файл usr/prog/otchet/yyyy_mm_dd-ddn.log
  При этом название должно само генериться из текущей даты и дня недели yyyy год mm месяц dd день ddn день недели. Подскажите чем и как это можно сделать или про что хотябы почитать. | |||
| 1
    
        Rizhij_Nikitos 08.12.11✎ 13:29 | 
        Уважаемые, выручайте!     | |||
| 2
    
        pumbaEO 08.12.11✎ 13:38 | 
        Скрипт на чем?     | |||
| 3
    
        ДенисЧ 08.12.11✎ 13:39 | 
        (2) Ту что, тупой? На линуксе!     | |||
| 4
    
        V_V_V 08.12.11✎ 13:46 | 
        Как-то так
  DateLog=$(date +%Y.%m.%d-%T) Чего-то там >> usr/prog/otchet/$DateLog.txt Это в скрипте. Пробуй. Я не силен в скриптах... | |||
| 5
    
        pumbaEO 08.12.11✎ 13:48 | 
        Ой, точно. 
  x = Формат(Дата, "ДФ=yyyy_MM_dd")+".log"; Тебя спасет. | |||
| 6
    
        V_V_V 08.12.11✎ 13:53 | 
        (3) -А приемник на транзисторах или на лампах? 
  -Для тупых, он на бронетранспортере... Ты не поверишь, в Линуксе скрипты разные бывают... | |||
| 7
    
        Rizhij_Nikitos 08.12.11✎ 13:58 | 
        DateLog=$(date +%Y/%m.%d-%T)
  prog>>usr/prog/otchet/$DateLog.txt Prog - выполняемая прога так? | |||
| 8
    
        pumbaEO 08.12.11✎ 14:00 | 
        да, только твоя прога должна писать в stdout     | |||
| 9
    
        Rizhij_Nikitos 08.12.11✎ 14:02 | 
        Эм... Всмысле результат выполнения записываться в файл? ">>" не это делают?     | |||
| 10
    
        ДенисЧ 08.12.11✎ 14:02 | 
        (6) Я не поверю? Почему? Я вообще очень доверчивый...     | |||
| 11
    
        pumbaEO 08.12.11✎ 14:04 | 
        mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME  > `date "+%Y-%m-%d"`.log
  Вот тебе пример. Твоя программа условно говоря должна писать сообщения в консоль, не в файл: >> этим ты перенаправляешь сообщения из консоли в файл. | |||
| 12
    
        Rizhij_Nikitos 08.12.11✎ 14:09 | 
        (2) Скрипт должен быть на bash или sh
  (11) mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME > `date "+%Y-%m-%d"`.log можешь расшифровать? mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME - команда которая пишется в файл с датой? | |||
| 13
    
        pumbaEO 08.12.11✎ 14:18 | 
        сделай 
  ls / > `date "+%Y-%m-%d"`.log ls / >> `date "+%Y-%m-%d"`.log и это в linux СП это man, или в гугл. `date "+%Y-%m-%d"`.log = формирует 2011-12-08.log | |||
| 14
    
        Rizhij_Nikitos 08.12.11✎ 14:20 | 
        (13) Спасибо сейчас попробую     | |||
| 15
    
        Rizhij_Nikitos 08.12.11✎ 14:46 | 
        Вот еще вопрос такой как можно написать скрипт который будет останавливать и запускать на продолжение нужный процесс?
  Я нашел как остановить по PID и запустить по JID процесс, но как мне конкретный процесс скриптом останавливать/продолжать? То есть получить список процессов с PID, найти в нем нужный и применить к нему stop а потом полуить список JID и к нужному процессу применить функцию bg? | |||
| 16
    
        pumbaEO 08.12.11✎ 14:50 | ||||
| 17
    
        Rizhij_Nikitos 08.12.11✎ 14:54 | 
        какой ты оригинал. Я уже нашел функции которыми стопать и ранать стопнутые процессы мне надо сделать это одним скриптом для нужного процесса. я не знаю как объединить все в одно и получение PID и стоп     | |||
| 18
    
        Asmody 08.12.11✎ 14:59 | 
        pmysqld=`ps -C mysqld -opid=`
  echo $pmysqld | |||
| 19
    
        Rizhij_Nikitos 08.12.11✎ 15:02 | 
        (18) расшифруй если не трудно     | |||
| 20
    
        Asmody 08.12.11✎ 15:09 | 
        1 строка — получение PID процесса mysqld и сохранение его в переменной pmysqld
  2 строка — вывод значения переменной чтобы аккуратно прибить процесс, надо послать ему сигнал завершения: kill -15 $pmysqld ну или проще: pkill -TERM mysqld | |||
| 21
    
        Rizhij_Nikitos 08.12.11✎ 15:19 | 
        А мне его стопнуть надо - stop - 15 $pmysqld
  15 это что? | |||
| 22
    
        Asmody 08.12.11✎ 15:21 | 
        (21) 15 — это сигнал TERM. Говорит процессу, что надо аккуратно завершиться.     | |||
| 23
    
        Rizhij_Nikitos 08.12.11✎ 15:23 | 
        Тоесть если я только стопаю мне достаточно сделать stop - $pmysqld так?     | |||
| 24
    
        Asmody 08.12.11✎ 15:32 | 
        (23) если ты хочешь работать с процессами, как с job'ами, то там немного другой синтаксис. job'ы существуют только в рамках данной сессии bash.
  Можно запускать jobы в рамках init через initctl, тогда ими можно управлять, как ты говоришь | |||
| 25
    
        Rizhij_Nikitos 08.12.11✎ 15:34 | 
        (24) Ага) я почти все понял :) 
  Я Вас в аське добавил можно туда задать пару вопросов? | |||
| 26
    
        Asmody 08.12.11✎ 15:38 | 
        кстати, можно стопить и обычные процессы:
  kill -SIGSTOP $PID стартануть обратно: kill -SIGCONT $PID | |||
| 27
    
        Rizhij_Nikitos 08.12.11✎ 15:43 | 
        В общем вот так я запускаю прогу которая формирует отчет и пишет его в файл сегодняшней датой:
  prog>>'date"+%Y-%m-%d-%T"'.log Дальше я стопаю процесс: processId='ps -C prog -opid=' Как мне теперь запустить обратно его же? Надо вроде получить JID сначала? | |||
| 28
    
        ansh15 08.12.11✎ 16:06 | 
        (27) Кавычки только такие нужны ``, а не ''
  в processId номер процесса есть, потом нужно как в (26) | |||
| 29
    
        Rizhij_Nikitos 08.12.11✎ 16:10 | 
        Там килл мне стоп надо.     | |||
| 30
    
        Rizhij_Nikitos 08.12.11✎ 16:34 | 
        Все вопрос решен. Всем огромное спасибо - сдал зачет по спецкусу языков прогарммирования :)))     | |||
| 31
    
        smaharbA 08.12.11✎ 22:58 | 
        в современных системах есть понятие сервис     | |||
| 32
    
        smaharbA 08.12.11✎ 22:59 | 
        для логов в системе есть логротатор в нем все реализовано     | |||
| 33
    
        Asmody 08.12.11✎ 23:00 | 
        (32) так-так-так. и чем оно отличается от понятия "демон" в несовременных системах?     | |||
| 34
    
        smaharbA 08.12.11✎ 23:09 | 
        (33) с какой целью интересуетесь ?
  а понятие демон изживется, уже ушли от систем5 | |||
| 35
    
        Asmody 08.12.11✎ 23:11 | 
        (34) "сервис" понятие слыышком широкое. а "демон" применительно к *nix (как и "служба" применительно к windows) — и сразу понятно о чём речь     | |||
| 36
    
        smaharbA 08.12.11✎ 23:12 | 
        (35) ответ в (31) не об определениях     | |||
| 37
    
        smaharbA 08.12.11✎ 23:12 | 
        + а по сути вопроса     | |||
| 38
    
        Asmody 08.12.11✎ 23:17 | 
        (36) так ТС и не сервис нужен был. реализовывать это через апстарт или системд можно, конечно, но овчинка выделки не стоит     | |||
| 39
    
        IVIuXa 09.12.11✎ 13:14 | 
        (0)
  пипец ветка ни о чем .... хватит 1 поста > /usr/prog/otchet/`date +%F`.log | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |