A developer has transitioned from using Bash scripts to a custom Go-based utility for managing 1C enterprise database backups. The project was initiated to address the complexities of maintaining multiple servers with varying configurations, including Linux, Windows, PostgreSQL, and MS SQL Server.
The Go utility supports three distinct backup schedules—daily, weekly, and monthly—with configurable retention periods. It uses a YAML-based configuration system that separates general settings from sensitive credentials, which are stored in a dedicated file with restricted access permissions.
The tool includes pre-execution validation checks for both the environment and configuration files. It automatically handles the mounting of network CIFS shares on Linux by creating temporary credential files to avoid exposing passwords in command-line arguments.
The utility acts as a management layer for standard 1C tools like ibcmd, abstracting the differences between database management systems. It has been tested on 7 servers and approximately 50 databases, supporting both file-based and client-server 1C configurations.






