Войти

Показать полную графическую версию : Помогите в батнике, не создает лог


magarjoba
04-09-2015, 14:03
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
вообще нет никаких вариантов? да я не указал что используется cwrsync, но это мелочи
сам смысл в том что он льёт музыку каждый день по созданному ранее заданию,
вот поэтому и хотелось бы что-б он создавал лог каждый день в отдельный файл, по проделанной работе

alpap
20-09-2015, 20:53
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
А создать лог "log.%TODAY%.txt" можно и одной командой:
rem:>log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt.

Iska
20-09-2015, 23:33
Вы даете команду 'date /T', такая есть? »
Есть.

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

alpap
21-09-2015, 00:02
Вы даете команду 'date /T', такая есть? » - да есть, тут извиняюсь, недосмотрел.

magarjoba
21-09-2015, 11:31
Применил указанные недочеты , т.е. кавычки + %
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
rem:>log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt » - это тупо создание текстовика, его надо-же использовать, заставить что-то туда записать или как.

magarjoba
21-09-2015, 14:51
я ж и об этом , ребят необязательно по вашему шаблону подскажите как мой подправить что-б все заработало

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

magarjoba
22-09-2015, 02:19
Да не обходить 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
magarjoba, какие проблемы вывести лог с любой утилиты, она (утилита) выдает команды и после определенной& log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt - попробуйте.

alpap
24-09-2015, 17:59
направление, не забудьте, конечно:
&>>log.%date:~6,4%-%date:~3,2%-%date:~,2%.txt.




© OSzone.net 2001-2012