El script mencionado a continuación tiene mis funciones de ejecución crontab.
# Chef Name: binary_log_purge 0 */4 * * * /engineyard/bin/binary_log_purge -q # Chef Name: database_oom_score */30 * * * * /engineyard/bin/database_oom_adj # Chef Name: logrotate -f /etc/logrotate.d/stats 0 * * * * logrotate -f /etc/logrotate.d/stats # Chef Name: cpu_utilaisation */5 * * * * cd /tmp && sh cpu_util.sh >> cpu_utilaisation.log # Chef Name: Test_script */2 * * * * cd /tmp && sh test.sh >> tests_cript.logLa consulta mencionada anteriormente quiero eliminar la línea de soplado
# Chef Name: Test_script */2 * * * * cd /tmp && sh test.sh >> tests_cript.log¿Cómo puedo eliminar la función con los pasos mencionados a continuación?
Paso 1: primero quiero encontrar si la siguiente línea está ahí o no. ¿Cómo puedo averiguarlo?
*/2 * * * * cd /tmp && sh test.sh >> tests_cript.logPaso 2: Si la línea está ahí. Quiero eliminar la función. ¿Cómo puedo eliminar la función?
Por favor, ayúdame.....
Según man 5 crontab , los archivos crontab no están destinados a ser editados directamente.
Lo que puede hacer es ejecutar crontab -l , filtrar la línea usando grep -v , ejecutar crontab -r para borrar el crontab y luego canalizar la versión modificada del archivo crontab a crontab - .
Puede usar grep -A 1 'Chef Name: Test_script' | grep -v "^#" para obtener la línea después de Test_script pero ignorando las líneas comentadas.