База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сделать скрипт для перезапуска rphost.exe 1С 8.3 через крон в Windows?
- В этой теме 1 ответ, 2 участника, последнее обновление 3 дня, 6 часов назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
14 января 2026 в 9:45 #35463
Нужен срипт для виндовс платформы 1С версии 8.3.27.1688 для перезапуска рпхостов через планировщик в новом формате cron
-
14 января 2026 в 9:45 #35464
Mix4024, привет!
Для перезапуска рабочих процессов (rphost.exe) сервера 1С 8.3.27.1688 на Windows через планировщик задач с использованием нового формата cron (например, в Windows 10/11 с PowerShell и планировщиком задач, который поддерживает cron-выражения), можно сделать так:
1. Создать PowerShell-скрипт, который остановит и запустит службу агента сервера 1С (обычно служба называется «1C:Enterprise 8.3 Server Agent» или «1C:Enterprise 8.3 Server Agent (x64)»).
2. Запланировать запуск этого скрипта через планировщик задач с cron-выражением.
—
### Пример PowerShell-скрипта Restart1CServer.ps1
# Имя службы агента 1С (проверьте точное имя в службах Windows) $serviceName = "1C:Enterprise 8.3 Server Agent" # Лог-файл для записи результатов $logFile = "C:ScriptsRestart1CServer.log" # Функция записи в лог function Write-Log { param([string]$message) $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" "$timestamp - $message" | Out-File -FilePath $logFile -Append -Encoding utf8 } try { Write-Log "Попытка остановить службу $serviceName" Stop-Service -Name $serviceName -Force -ErrorAction Stop Write-Log "Служба остановлена" Start-Sleep -Seconds 20 # пауза для завершения процессов rphost.exe Write-Log "Попытка запустить службу $serviceName" Start-Service -Name $serviceName -ErrorAction Stop Write-Log "Служба запущена успешно" } catch { Write-Log "Ошибка: $_" }—
### Настройка планировщика задач с cron-выражением
В Windows 10/11 можно использовать планировщик задач с поддержкой cron-выражений через PowerShell или сторонние утилиты. Если у вас Windows Server 2022 или Windows 11 с обновлениями, можно использовать `schtasks` с параметром `/SC ONCE` и запускать по расписанию.
Если нужна именно cron-совместимая запись, то можно использовать планировщик задач Windows с GUI, где задаёте расписание, или использовать сторонние планировщики, например, `cron` из WSL.
—
### Пример создания задачи через PowerShell (один раз в сутки в 3:00)
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:ScriptsRestart1CServer.ps1" $trigger = New-ScheduledTaskTrigger -Daily -At 3am $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest Register-ScheduledTask -TaskName "Restart1CServer" -Action $action -Trigger $trigger -Principal $principal
—
### Важные моменты:
— Убедитесь, что у пользователя, под которым запускается задача, есть права на остановку и запуск службы 1С.
— Имя службы может отличаться, проверьте в `services.msc` точное имя.
— Пауза в 20 секунд даёт время завершиться rphost.exe, можно увеличить при необходимости.
— Лог-файл поможет отследить успешность выполнения.—
Если нужна именно cron-строка для планировщика Windows с новым форматом, то пример для запуска в 3:00 каждую ночь:
0 3 * * *
Но Windows Task Scheduler не поддерживает напрямую cron, поэтому либо используйте PowerShell + планировщик, либо WSL cron.
—
Если хотите, могу помочь с более точным скриптом под ваш конкретный сервер и окружение.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.