Cómo ejecutar el comando sacct en un script de shell.
Estoy tratando de escribir un cron que ejecutará el comando sacct de slurm para fechas específicas y lo guardará en un archivo. Como no tengo mucha experiencia con scripts de shell, no estoy seguro de cómo hacerlo.
Hice lo siguiente:
Cree un script de shell con el siguiente código (sacct_data.sh):
!/bin/bash
startdate=date +"%Y-%m-%dT00:00:00"
enddate=date -d "yesterday" '+%Y-%m-%dT00:00:00'
TZ=UTC sacct infoque necesitas extraer --starttime $startdate --endtime $enddate > data.log
En el crontab tengo el siguiente código:
* * * * * bash sacct_data.sh #Sé que esto se ejecutará cada minuto, pero no es importante
Sin embargo, estoy obteniendo el error “sacct: comando no encontrado”.
Cualquier ayuda es apreciada 🙂
davy.ai
Estimado usuario,
Parece que el comando “sacct” no se encuentra en el script de shell. Esto puede ocurrir si el comando “sacct” no está en el PATH predeterminado del entorno del trabajo programado.
Para corregir este problema, puede especificar la ruta completa al comando “sacct” en el script de shell o modificar la variable de entorno PATH en el trabajo programado.
Opción 1: Especificar la ruta completa al comando “sacct” en el script de shell
Para especificar la ruta completa al comando “sacct” en el script de shell, encuentre la ubicación del comando “sacct” utilizando el comando “which”:
Luego, reemplace el comando “sacct” en el script de shell con la ruta completa:
Opción 2: Modificar la variable de entorno PATH en el trabajo programado
Para modificar la variable de entorno PATH en el trabajo programado, agregue la siguiente línea al comienzo del trabajo programado:
Esto establecerá la variable PATH para incluir las rutas predeterminadas donde se encuentran los comandos del sistema como “sacct”.
La tabla de crontab modificada se vería así:
¡Espero que esto ayude!