[gentoo-user] chrony logrotate script EOF error

2010-08-22 Thread Mick
Hi All,

The chrony installed logrotate script keeps erroring out:

logrotate_script: line 5: warning: here-document at line 2 delimited by end-
of-file (wanted `EOF')
Unrecognized command


This is the script:

/var/log/chrony/*.log {
sharedscripts
postrotate
PASSWORD=`awk '$1 ~ /^1$/ {print $2; exit}' 
/etc/chrony/chrony.keys`
cat  EOF | /usr/bin/chronyc | sed '/^200 OK$/d'
password $PASSWORD
cyclelogs
EOF
endscript
}


I do not understand the error.  Is it telling me to add backticks?  Where?
-- 
Regards,
Mick


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] chrony logrotate script EOF error

2010-08-22 Thread Alex Schuster
Mick writes:

 The chrony installed logrotate script keeps erroring out:
 
 logrotate_script: line 5: warning: here-document at line 2 delimited by
 end- of-file (wanted `EOF')
 Unrecognized command
 
 
 This is the script:
 
 /var/log/chrony/*.log {
   sharedscripts
   postrotate
 PASSWORD=`awk '$1 ~ /^1$/ {print $2; exit}'
 /etc/chrony/chrony.keys`
 cat  EOF | /usr/bin/chronyc | sed '/^200 OK$/d'
 password $PASSWORD
 cyclelogs
 EOF
 endscript
 }
 
 
 I do not understand the error.  Is it telling me to add backticks? 
 Where?

I don't know the logrotate syntax, but in bash this would not work if the 
ending EOF has leading whitespace. Try replacing the '' by '-', then 
whitespace is allowed.

Wonko



Re: [gentoo-user] chrony logrotate script EOF error

2010-08-22 Thread Mick
On Sunday 22 August 2010 11:25:05 Alex Schuster wrote:
 Mick writes:
  The chrony installed logrotate script keeps erroring out:
  
  logrotate_script: line 5: warning: here-document at line 2 delimited by
  end- of-file (wanted `EOF')
  Unrecognized command
  
  
  This is the script:
  
  /var/log/chrony/*.log {
  
  sharedscripts
  postrotate
  
  PASSWORD=`awk '$1 ~ /^1$/ {print $2; exit}'
  
  /etc/chrony/chrony.keys`
  
  cat  EOF | /usr/bin/chronyc | sed '/^200 OK$/d'
  password $PASSWORD
  cyclelogs
  EOF
  
  endscript
  
  }
  
  
  I do not understand the error.  Is it telling me to add backticks?
  Where?
 
 I don't know the logrotate syntax, but in bash this would not work if the
 ending EOF has leading whitespace. Try replacing the '' by '-', then
 whitespace is allowed.

Thanks!  I've used your suggestion and will see if the error goes away.
-- 
Regards,
Mick


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] chrony logrotate script EOF error

2010-08-22 Thread Alan McKinnon
Apparently, though unproven, at 12:11 on Sunday 22 August 2010, Mick did opine 
thusly:

 Hi All,
 
 The chrony installed logrotate script keeps erroring out:
 
 logrotate_script: line 5: warning: here-document at line 2 delimited by
 end- of-file (wanted `EOF')
 Unrecognized command
 
 
 This is the script:
 
 /var/log/chrony/*.log {
   sharedscripts
   postrotate
 PASSWORD=`awk '$1 ~ /^1$/ {print $2; exit}'
 /etc/chrony/chrony.keys`
 cat  EOF | /usr/bin/chronyc | sed '/^200 OK$/d'
 password $PASSWORD
 cyclelogs
 EOF
 endscript
 }
 
 
 I do not understand the error.  Is it telling me to add backticks?  Where?


No, it's saying it wants EOF on a line all by itself with no leading 
whitespace. That thing that looks like a backtick is an open quote.


-- 
alan dot mckinnon at gmail dot com



Re: [gentoo-user] chrony logrotate script EOF error

2010-08-22 Thread Mick
On Sunday 22 August 2010 17:25:02 Alan McKinnon wrote:
 Apparently, though unproven, at 12:11 on Sunday 22 August 2010, Mick did
 opine
 
 thusly:
  Hi All,
  
  The chrony installed logrotate script keeps erroring out:
  
  logrotate_script: line 5: warning: here-document at line 2 delimited by
  end- of-file (wanted `EOF')
  Unrecognized command
  
  
  This is the script:
  
  /var/log/chrony/*.log {
  
  sharedscripts
  postrotate
  
  PASSWORD=`awk '$1 ~ /^1$/ {print $2; exit}'
  
  /etc/chrony/chrony.keys`
  
  cat  EOF | /usr/bin/chronyc | sed '/^200 OK$/d'
  password $PASSWORD
  cyclelogs
  EOF
  
  endscript
  
  }
  
  
  I do not understand the error.  Is it telling me to add backticks? 
  Where?
 
 No, it's saying it wants EOF on a line all by itself with no leading
 whitespace. That thing that looks like a backtick is an open quote.

Hmm ... so what should the corrected logrotate script look like then?

   cat  
EOF
   | /usr/bin/chronyc | sed '/^200 OK$/d'
   password $PASSWORD
   cyclelogs
   EOF
endscript
}
-- 
Regards,
Mick


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-user] chrony logrotate script EOF error

2010-08-22 Thread Alan McKinnon
Apparently, though unproven, at 18:44 on Sunday 22 August 2010, Mick did opine 
thusly:

  No, it's saying it wants EOF on a line all by itself with no leading
  whitespace. That thing that looks like a backtick is an open quote.
 
 Hmm ... so what should the corrected logrotate script look like then?
 
cat  
 EOF
| /usr/bin/chronyc | sed '/^200 OK$/d'
password $PASSWORD
cyclelogs
EOF
 endscript
 }


Change the other EOF instead.

It's a here document, search for that phrase in man bash to find out more. 
It tells bash what will cause input redirection from stdin to end. The first 
EOF is the string to look for, the second one is the trigger that ends input

-- 
alan dot mckinnon at gmail dot com



Re: [gentoo-user] chrony logrotate script EOF error

2010-08-22 Thread Mick
On Sunday 22 August 2010 17:50:02 Alan McKinnon wrote:
 Apparently, though unproven, at 18:44 on Sunday 22 August 2010, Mick did
 opine
 
 thusly:
   No, it's saying it wants EOF on a line all by itself with no leading
   whitespace. That thing that looks like a backtick is an open quote.
  
  Hmm ... so what should the corrected logrotate script look like then?
  
 cat 
  
  EOF
  
 | /usr/bin/chronyc | sed '/^200 OK$/d'
 
 password $PASSWORD
 cyclelogs
 EOF
  
  endscript
  }
 
 Change the other EOF instead.
 
 It's a here document, search for that phrase in man bash to find out
 more. It tells bash what will cause input redirection from stdin to end.
 The first EOF is the string to look for, the second one is the trigger
 that ends input

Thanks Alan, I think I got it now.  :-)
-- 
Regards,
Mick


signature.asc
Description: This is a digitally signed message part.