Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Помогите в батнике, не создает лог (http://forum.oszone.net/showthread.php?t=304936)

magarjoba 04-09-2015 14:03 2549527

Помогите в батнике, не создает лог
 
Код:

REM *****************************************************************
REM  Modifid by Rembo
REM *****************************************************************
REM Build a variable that contains the date in YYYY-MM-DD format.
REM ******************************************************************
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set year=%c
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set month=%a
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set day=%b
SET TODAY=%year%-%month%-%day%
SET LOGFILE=C:\Program Files\cwRsync\log\log.%TODAY%.txt
REM ******************************************************************
pause
echo ########################################  >> %LOGFILE%
echo Starting cwrsync.cmd                      >> %LOGFILE%
date /t                                        >> %LOGFILE%
time /t                                        >> %LOGFILE%
SETLOCAL

SET CWRSYNCHOME=C:\PROGRAM FILES\cwRsync
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%


rsync -Pav  --bwlimit=8000 --exclude="/XXX_music/" --delete-after XXX.ua::music/ /cygdrive/z/music

REM echo command=%COMMAND%                      >> %LOGFILE%


echo Finished cwrsync.cmd                        >> %LOGFILE%
date /t                                            >> %LOGFILE%
time /t                                            >> %LOGFILE%
echo .                                          >> %LOGFILE%
pause



Сам смысл он синхронит мне папки так что в строке rsync - все четко там правда можно добавить --log-file=123.txt
тогда он будет сохранять в корне синка лог своего формата и с каждым запуском дозаписывать

а мне посути нужно создавать в указанной папке ЛОГ по заданным параметрам, кто подскажет ?! Помогите люди добрые )

magarjoba 08-09-2015 10:04 2550805

вообще нет никаких вариантов? да я не указал что используется cwrsync, но это мелочи
сам смысл в том что он льёт музыку каждый день по созданному ранее заданию,
вот поэтому и хотелось бы что-б он создавал лог каждый день в отдельный файл, по проделанной работе

alpap 20-09-2015 20:53 2555609

Цитата:

Цитата magarjoba
SET LOGFILE=C:\Program Files\cwRsync\log\log.%TODAY%.txt »

- хотя-бы здесь надо поменять на
Код:

SET "LOGFILE=C:\Program Files\cwRsync\log\log.%TODAY%.txt"
и здесь на
Код:

SET "CWRSYNCHOME=C:\PROGRAM FILES\cwRsync"
, а вообще шикарность составления bat файла Вам, действительно, нужнее его правильного составления по отношению к его работоспособности.

Вот, например, строкой
Код:

for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set year=%c
Вы даете команду 'date /T', такая есть?, а задавая входящую переменную %%a выводите (откуда-бы ей взяться) %c, может чего-то почитать для начала.

alpap 20-09-2015 21:17 2555614

А создать лог "log.%TODAY%.txt" можно и одной командой:
Код:

rem:>log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt
.

Iska 20-09-2015 23:33 2555664

Цитата:

Цитата alpap
Вы даете команду 'date /T', такая есть? »

Есть.

Цитата:

Цитата alpap
а задавая входящую переменную %%a выводите (откуда-бы ей взяться) %c, »

«%%с» должен бы быть.

alpap 21-09-2015 00:02 2555675

Цитата:

Цитата alpap
Вы даете команду 'date /T', такая есть? »

- да есть, тут извиняюсь, недосмотрел.

magarjoba 21-09-2015 11:31 2555795

Применил указанные недочеты , т.е. кавычки + %
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set year=%%c
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set month=%%a
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set day=%%b
SET TODAY=%year%-%month%-%day%
SET "LOGFILE=C:\Program Files\cwRsync\log\log.%TODAY%.txt"
--------------------
SET "CWRSYNCHOME=C:\PROGRAM FILES\cwRsync"


в моем случае сейчас на этапе создает папку log, но сам лог туда не пишет

пытался колдовать с вашей строкой
rem:>log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt

создает файл , в корне папке но после выполнения задачи ничего не пишет в него тоже к сожалению(

alpap 21-09-2015 12:08 2555812

Цитата:

Цитата magarjoba
rem:>log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt »

- это тупо создание текстовика, его надо-же использовать, заставить что-то туда записать или как.

magarjoba 21-09-2015 14:51 2555889

я ж и об этом , ребят необязательно по вашему шаблону подскажите как мой подправить что-б все заработало

alpap 21-09-2015 20:05 2555989

magarjoba, Ну не у всех же стоят все существующие утилиты чтобы вот просто выдать ответ, да еще без четко поставленной задачи, во-втором посте - не мелочи и желательно узнать и сюда выложить что может или не может создавать эта утилита, а может и вообще можно ее обойти?

magarjoba 22-09-2015 02:19 2556099

Да не обходить crwsync я не хочу, так ка она удобна тем что синхронит с ftp мне необходимый контент

это довольно таки известная тулза,

я аот че подумал, может из- за того что она по себе отдельная прога , может вот и поэтому непишет лог, хотя должен хотябы писать что я её запустил
таким-то числом
хз..

ладно сорри за потраченнок время, нет -так нет..... будим обычный лог файл использовать дописав --logfile=log.txt вот сюда

rsync -Pav --logfile=log.txt --bwlimit=8000 --exclude="/XXX_music/" --delete-after XXX.ua::music/ /cygdrive/z/music

это штатная ф-ция, для записи лога..... но фишка в том что, задать параметр по затиранию старых в этом файле нельзя....

alpap 24-09-2015 16:18 2557200

magarjoba, какие проблемы вывести лог с любой утилиты, она (утилита) выдает команды и после определенной& log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt - попробуйте.

alpap 24-09-2015 17:59 2557235

направление, не забудьте, конечно:
Код:

&>>log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt
.


Время: 00:16.

Время: 00:16.
© OSzone.net 2001-