Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-11884

Logrotate fails if mysqld is not running (logrotate_script: 3: [: /var/run/mysqld/mysqld.pid: unexpected operator)

    XMLWordPrintable

    Details

      Description

      From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830976

      > Followup-For: Bug #830976
      >
      >
      > I got  errors from cron:
      >  /etc/cron.daily/logrotate:
      >  logrotate_script: 3: [: /var/run/mysqld/mysqld.pid: unexpected operator
      >
      > The reason I found: The postrotate script of /etc/logrotate.d/mysql-server
      > contains
      >   my_print_defaults --mysqld | grep -oP "pid-file=\K[^$]+"
      > and this generates on my machine two identical lines of output:
      > /var/run/mysqld/mysqld.pid
      > /var/run/mysqld/mysqld.pid
      >
      > So I added  " | uniq"  after the grep. Perhaps " | head -n1"
      > would be even better.
       
       
      I seems this was introduced in commit
      https://anonscm.debian.org/cgit/pkg-mysql/mariadb-10.0.git/commit/debian/mariadb-server-10.0.mysql-server.logrotate?id=2948deb77b61f805e41b7032c71226a69d29a317
      when importing upstream 10.0.25.
       
      The original upstream commit that changed this was
      https://github.com/MariaDB/server/commit/8942824a5304e23f765b88d07498786d80092843
       
      I suggest you work directly with upstream to get this syntax fine
      tuned and fixed globally.
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              otto Otto Kekäläinen
              Reporter:
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: