ev83gen
22-03-2017, 13:10
На win 2003 есть скрипт, скомпилированный в megavigr.exe. рядом лежит файл megavigr.ini. Суть такая: ночью через планировщик запускается megavigr.exe, он берет список баз, пути к ним и пароли из megavigr.ini. Все работает как часы.
Я хочу перенести все на win 2008 R2, соответственно в обоих файлах все поправил, закидываю в планировщик и тишина, запускаю руками все работает, в логах запись:
2017-03-22 12:46:09 : MegaVigr start at 22.03.2017 12:46:09
2017-03-22 12:46:09 : kolvo is 49
2017-03-22 12:46:09 : freespace is 1024
2017-03-22 12:46:09 : starting 1 job of 49
2017-03-22 12:46:09 : job 1, create C:\Users\454B~1.TAI\AppData\Local\Temp\2\megavigr.prm
2017-03-22 12:46:09 : job 1, write C:\Users\454B~1.TAI\AppData\Local\Temp\2\megavigr.prm
2017-03-22 12:46:09 : job 1, close C:\Users\454B~1.TAI\AppData\Local\Temp\2\megavigr.prm
2017-03-22 12:46:09 : job 1, make dir for vigruzka c:\megavigr\zip\2017_12\
2017-03-22 12:46:09 : job 1, check free space on drive c:\
2017-03-22 12:46:09 : job 1, check free space on drive c:\ success!
2013-08-26 06:04:28 : job 1, write registry base O:\1c_base\Buh.buh\, name Buh
2013-08-26 06:04:28 : job 1, start vigruzka
2013-08-26 06:05:18 : job 1, vigruzka over
2013-08-26 06:05:18 : job 1, delete registry base O:\1c_base\Buh.buh\, name Buh
2013-08-26 06:05:18 : job 1, save log to o:\megavigr\log\Buh.txt
В планировщике нажимаю на задание правой кнопкой ->выполнить и ничего.
Иду в логи и вижу:
2017-03-22 14:42:36 : MegaVigr start at 22.03.2017 14:42:36
2017-03-22 14:42:36 : kolvo is 0
2017-03-22 14:42:36 : freespace is 1024
Получается он не может прочесть строку количество и пишет 0 или вообще файл ini не видит, но почем ручками работает?
В планировщике ставил галку и для зарегистрированных и не зависимо от регистрации, галку с высшими привилегиями тоже ставил.
На форумах находил информацию что иногда из под прав доменного Админа отказывается работать, создал пользователя с правами админа, дал на папки, где лежит скрипт, полные права еще явно. Результата нет.
начало кода скрипта(потому как далее не идет):
$year=@YEAR
$week=_WeekNumberISO(@YEAR,@MON,@MDAY)
if $week < 10 and stringlen($week)=1 then $week='0' & $week
$day=@WDAY-1
if $day=0 then $day=7
$Year = @YEAR
$kolvo=iniread("megavigr.ini","settings","kolvo","0")
$freespace=iniread("megavigr.ini","settings","freespace","1024")
$syslogfile=iniread("megavigr.ini","settings","syslogfile","c:\1.log")
_FileWriteLog($syslogfile,"MegaVigr start at " & _Now())
_FileWriteLog($syslogfile,"kolvo is " & $kolvo)
_FileWriteLog($syslogfile,"freespace is " & $freespace)
$default_name=iniread("megavigr.ini","0","name","pusto")
$default_path=iniread("megavigr.ini","0","path","pusto")
$default_user=iniread("megavigr.ini","0","user","user")
$default_pass=iniread("megavigr.ini","0","pass","pass")
$default_vigrpath=iniread("megavigr.ini","0","vigrpath","pusto")
$default_vigrname=iniread("megavigr.ini","0","vigrname","pusto")
$default_logneed=iniread("megavigr.ini","0","logneed","1")
$default_logpath=iniread("megavigr.ini","0","logpath","pusto")
for $i=1 to $kolvo
_FileWriteLog($syslogfile,"starting " & $i & " job of " & $kolvo )
$v_name=iniread("megavigr.ini",$i,"name",$default_name)
$v_path=iniread("megavigr.ini",$i,"path",$default_path)
$v_user=iniread("megavigr.ini",$i,"user",$default_user)
$v_pass=iniread("megavigr.ini",$i,"pass",$default_pass)
$v_vigrpath=iniread("megavigr.ini",$i,"vigrpath",$default_vigrpath)
$v_vigrname=iniread("megavigr.ini",$i,"vigrname",$default_vigrname)
$v_logneed=iniread("megavigr.ini",$i,"logneed",$default_logneed)
$v_logpath=iniread("megavigr.ini",$i,"logpath",$default_logpath)
if $v_name = $default_name Then
_FileWriteLog($syslogfile," job " & $i & " have bad name " & $v_name )
ContinueLoop
Else
EndIf
if $v_path = $default_path Then
_FileWriteLog($syslogfile," job " & $i & " have bad path " & $v_path )
ContinueLoop
Else
EndIf
if $v_user = "" Then $v_user=$default_user
if $v_user = "" Then
_FileWriteLog($syslogfile," job " & $i & " have bad user " & $v_user )
ContinueLoop
Else
EndIf
if $v_pass = "" Then $v_pass=$default_pass
if $v_pass = "" Then
_FileWriteLog($syslogfile," job " & $i & " have bad pass " & $v_pass )
ContinueLoop
Вот часть файла ini:
[settings]
kolvo = 49
freespace=1024
syslogfile=c:\1.log
[0]
name=дефолтовые настройки
path=
user=Администратор
pass=11111111
vigrpath=c:\megavigr\zip\
vigrname=
logneed=1
logpath=c:\megavigr\log\
[1]
name=Бухгалтерия
path=O:\1c_base\Buh.buh\
user=
pass=
vigrpath=
vigrname=Buh_buh
logneed=
logpath=
Что не так с этим планировщиком, подскажите где я не прав, а то я к врачу пойду скоро!!
Я хочу перенести все на win 2008 R2, соответственно в обоих файлах все поправил, закидываю в планировщик и тишина, запускаю руками все работает, в логах запись:
2017-03-22 12:46:09 : MegaVigr start at 22.03.2017 12:46:09
2017-03-22 12:46:09 : kolvo is 49
2017-03-22 12:46:09 : freespace is 1024
2017-03-22 12:46:09 : starting 1 job of 49
2017-03-22 12:46:09 : job 1, create C:\Users\454B~1.TAI\AppData\Local\Temp\2\megavigr.prm
2017-03-22 12:46:09 : job 1, write C:\Users\454B~1.TAI\AppData\Local\Temp\2\megavigr.prm
2017-03-22 12:46:09 : job 1, close C:\Users\454B~1.TAI\AppData\Local\Temp\2\megavigr.prm
2017-03-22 12:46:09 : job 1, make dir for vigruzka c:\megavigr\zip\2017_12\
2017-03-22 12:46:09 : job 1, check free space on drive c:\
2017-03-22 12:46:09 : job 1, check free space on drive c:\ success!
2013-08-26 06:04:28 : job 1, write registry base O:\1c_base\Buh.buh\, name Buh
2013-08-26 06:04:28 : job 1, start vigruzka
2013-08-26 06:05:18 : job 1, vigruzka over
2013-08-26 06:05:18 : job 1, delete registry base O:\1c_base\Buh.buh\, name Buh
2013-08-26 06:05:18 : job 1, save log to o:\megavigr\log\Buh.txt
В планировщике нажимаю на задание правой кнопкой ->выполнить и ничего.
Иду в логи и вижу:
2017-03-22 14:42:36 : MegaVigr start at 22.03.2017 14:42:36
2017-03-22 14:42:36 : kolvo is 0
2017-03-22 14:42:36 : freespace is 1024
Получается он не может прочесть строку количество и пишет 0 или вообще файл ini не видит, но почем ручками работает?
В планировщике ставил галку и для зарегистрированных и не зависимо от регистрации, галку с высшими привилегиями тоже ставил.
На форумах находил информацию что иногда из под прав доменного Админа отказывается работать, создал пользователя с правами админа, дал на папки, где лежит скрипт, полные права еще явно. Результата нет.
начало кода скрипта(потому как далее не идет):
$year=@YEAR
$week=_WeekNumberISO(@YEAR,@MON,@MDAY)
if $week < 10 and stringlen($week)=1 then $week='0' & $week
$day=@WDAY-1
if $day=0 then $day=7
$Year = @YEAR
$kolvo=iniread("megavigr.ini","settings","kolvo","0")
$freespace=iniread("megavigr.ini","settings","freespace","1024")
$syslogfile=iniread("megavigr.ini","settings","syslogfile","c:\1.log")
_FileWriteLog($syslogfile,"MegaVigr start at " & _Now())
_FileWriteLog($syslogfile,"kolvo is " & $kolvo)
_FileWriteLog($syslogfile,"freespace is " & $freespace)
$default_name=iniread("megavigr.ini","0","name","pusto")
$default_path=iniread("megavigr.ini","0","path","pusto")
$default_user=iniread("megavigr.ini","0","user","user")
$default_pass=iniread("megavigr.ini","0","pass","pass")
$default_vigrpath=iniread("megavigr.ini","0","vigrpath","pusto")
$default_vigrname=iniread("megavigr.ini","0","vigrname","pusto")
$default_logneed=iniread("megavigr.ini","0","logneed","1")
$default_logpath=iniread("megavigr.ini","0","logpath","pusto")
for $i=1 to $kolvo
_FileWriteLog($syslogfile,"starting " & $i & " job of " & $kolvo )
$v_name=iniread("megavigr.ini",$i,"name",$default_name)
$v_path=iniread("megavigr.ini",$i,"path",$default_path)
$v_user=iniread("megavigr.ini",$i,"user",$default_user)
$v_pass=iniread("megavigr.ini",$i,"pass",$default_pass)
$v_vigrpath=iniread("megavigr.ini",$i,"vigrpath",$default_vigrpath)
$v_vigrname=iniread("megavigr.ini",$i,"vigrname",$default_vigrname)
$v_logneed=iniread("megavigr.ini",$i,"logneed",$default_logneed)
$v_logpath=iniread("megavigr.ini",$i,"logpath",$default_logpath)
if $v_name = $default_name Then
_FileWriteLog($syslogfile," job " & $i & " have bad name " & $v_name )
ContinueLoop
Else
EndIf
if $v_path = $default_path Then
_FileWriteLog($syslogfile," job " & $i & " have bad path " & $v_path )
ContinueLoop
Else
EndIf
if $v_user = "" Then $v_user=$default_user
if $v_user = "" Then
_FileWriteLog($syslogfile," job " & $i & " have bad user " & $v_user )
ContinueLoop
Else
EndIf
if $v_pass = "" Then $v_pass=$default_pass
if $v_pass = "" Then
_FileWriteLog($syslogfile," job " & $i & " have bad pass " & $v_pass )
ContinueLoop
Вот часть файла ini:
[settings]
kolvo = 49
freespace=1024
syslogfile=c:\1.log
[0]
name=дефолтовые настройки
path=
user=Администратор
pass=11111111
vigrpath=c:\megavigr\zip\
vigrname=
logneed=1
logpath=c:\megavigr\log\
[1]
name=Бухгалтерия
path=O:\1c_base\Buh.buh\
user=
pass=
vigrpath=
vigrname=Buh_buh
logneed=
logpath=
Что не так с этим планировщиком, подскажите где я не прав, а то я к врачу пойду скоро!!