ISPConfig Auto Update Tool

Discussion in 'Developers' Forum' started by ahrasis, Oct 12, 2025.

  1. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    I have created another tool which aims to automatically update ISPConfig software, if there is any new update. You can set cron job as you like but I think checking once a day may be fine to many as it will not download anything if the current stable version ISPConfig is the same with the one in your server.

    You will need to create ispconfig-autoupdate.ini in your conf-custom folder which you can base on https://git.ispconfig.org/ispconfig...cs/autoinstall_samples/autoinstall.ini.sample. Below are some from the samples that I am using:
    Code:
    [update]
    do_backup=yes
    reconfigure_permissions_in_master_database=yes
    reconfigure_services=yes
    ispconfig_port=8080
    create_new_ispconfig_ssl_cert=yes
    reconfigure_crontab=yes
    create_ssl_server_certs=y
    ignore_hostname_dns=y
    ispconfig_postfix_ssl_symlink=y
    ispconfig_pureftpd_ssl_symlink=y
    
    svc_detect_change_mail_server=yes
    svc_detect_change_web_server=yes
    svc_detect_change_dns_server=yes
    svc_detect_change_xmpp_server=yes
    svc_detect_change_firewall_server=yes
    svc_detect_change_vserver_server=yes
    svc_detect_change_db_server=yes
    

    Officially (in ispconfig git once approved):
    Code:
    cd /etc/cron.daily
    curl -sL https://git.ispconfig.org/ispconfig/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' > ispconfig-autoupdate.sh
    chmod +x ispconfig-autoupdate.sh
    ./ispconfig-autoupdate.sh
    
    Or directly via this command.
    Code:
    curl -sL https://git.ispconfig.org/ispconfig/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' | bash
    
    Direct with debug and dry run:
    Code:
    curl -sL https://git.ispconfig.org/ispconfig/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' \
      | bash -s -- --debug --dry-run
    

    Temporarily (currently in my ispconfig git):
    Code:
    cd /etc/cron.daily
    curl -sL https://git.ispconfig.org/ahrasis/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' > ispconfig-autoupdate.sh
    chmod +x ispconfig-autoupdate.sh
    ./ispconfig-autoupdate.sh
    
    Or directly via this command.
    Code:
    curl -sL https://git.ispconfig.org/ahrasis/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' | bash
    
    Direct with debug and dry run:
    Code:
    curl -sL https://git.ispconfig.org/ahrasis/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' \
      | bash -s -- --debug --dry-run
    
     
    Last edited: Oct 12, 2025
    till likes this.
  2. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    ISPConfig Auto Updater v2.2 (Stable Release)

    A new version of the ISPConfig Auto Updater script (v2.2) is now available.
    It improves safety, logging, and long-term maintenance, while keeping usage simple and flexible.

    Note:
    This version is not yet officially approved or merged into the official ISPConfig Tools repository.
    It can be tested and used at your own discretion until it becomes part of the official tools.

    Main Highlights:
    • Cleaner and safer design (uses PID lock, auto cleanup)
    • Detailed log with timestamps at /var/log/ispconfig-autoupdate.log
    • Quiet, debug, and dry-run modes for flexible operation
    Built-in logrotate support to manage log size automatically
    • Works from /etc/cron.daily or can run directly via curl

    Quick Install (Recommended for daily automation):
    Code:
    cd /etc/cron.daily
    curl -sL https://git.ispconfig.org/ahrasis/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' > ispconfig-autoupdate.sh
    chmod +x ispconfig-autoupdate.sh
    ./ispconfig-autoupdate.sh
    
    This installs the script in /etc/cron.daily so it runs automatically once a day.

    Run Directly Without Saving:
    Code:
    curl -sL https://git.ispconfig.org/ahrasis/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' | bash
    
    For testing only (no update applied):
    Code:
    curl -sL https://git.ispconfig.org/ahrasis/tools/-/raw/master/ispconfig-autoupdate.sh \
      | sed 's/\r$//' \
      | bash -s -- --debug --dry-run
    
    Enable Logrotate (New Feature):
    Run once to install automatic log rotation:
    Code:
    bash ispconfig-autoupdate.sh --setup-logrotate
    This creates and tests /etc/logrotate.d/ispconfig-autoupdate.
    If an older version was installed earlier, this will safely add log rotation without affecting existing logs.

    Common Commands:
    Code:
    ispconfig-autoupdate.sh # Normal run
    ispconfig-autoupdate.sh --dry-run # Check only, no update
    ispconfig-autoupdate.sh --debug # Verbose output
    ispconfig-autoupdate.sh --quiet # Minimal output (cron)
    ispconfig-autoupdate.sh --setup-logrotate # Install logrotate
    ispconfig-autoupdate.sh --help # Show help
    ispconfig-autoupdate.sh --version # Show version
    Log and Config Paths:
    • Log file: /var/log/ispconfig-autoupdate.log
    • Lock file: /var/run/ispconfig-autoupdate.lock
    • Logrotate config: /etc/logrotate.d/ispconfig-autoupdate

    This version is stable, reliable, and easier to maintain.
    It is designed to run safely under cron or systemd for unattended updates,
    but please note it remains a community contribution pending official inclusion in ISPConfig Tools.
     
    Last edited: Oct 27, 2025

Share This Page