Você não está escapando caracteres corretamente no código de exemplo acima: você precisa de algo mais como:
tail -f ${log_path} | awk '/Initialization Sequence Completed/ { system("echo \"VPN is running.\"") } /\[HOST_NOT_FOUND\]/ { system("echo \"error\"")}'
Você também pode querer investigar o uso do logrotate. Se você usar a regra postrotate
, poderá ter um processador de logs agindo para você em um log que não cresça infinitamente e / ou preencha o espaço de armazenamento.