Comandos de terminal en Automator para el mantenimiento de Profile Manager

1

Estoy usando el servidor macOS para administrar nuestros iPads y Profile Manager está constantemente teniendo problemas que me exigen detener el servicio y reiniciar el servidor. También limpio las tareas completadas y no completadas (esto a veces ayuda). Me gustaría usar Automator para ejecutar una tarea diaria para borrar las tareas completadas de la base de datos y una para borrar las tareas no completadas semanalmente.

Aquí está el código que tengo, ¿puede alguien ayudarme a configurar esto para Automator?

Borrar tareas completadas:

sudo -u _devicemgr psql -U _devicemgr -d devicemgr_v2m0 -h /Library/Server/ProfileManager/Config/var/PostgreSQL -c "DELETE FROM library_item_tasks WHERE completed_at IS NOT NULL"

Borrar no completado:

sudo -u _devicemgr psql -U _devicemgr -d devicemgr_v2m0 -h /Library/Server/ProfileManager/Config/var/PostgreSQL -c "DELETE FROM library_item_tasks WHERE completed_at IS NULL"
    
pregunta Tim Moseley 15.11.2017 - 19:19

1 respuesta

0

Google: bash script cómo : un bash script no es más que un archivo de texto plano que comienza con el apropiado shebang y tiene los comandos que desea ejecutar, una línea a la vez. Luego se hizo ejecutable con chmod y si no ubicado en un directorio en PATH use ./filename para ejecutarlo.

El método ./filename lo requiere en PWD en la Terminal; de lo contrario, use el nombre de ruta completo . Colocarlo en un directorio en el PATH suele ser más fácil de ejecutar posteriormente según sea necesario solo con filename .

Ejemplo :

En la terminal:

touch cleartasks
open cleartasks

Añadir a archivo abierto:

#!/bin/bash
sudo -u _devicemgr psql -U _devicemgr -d devicemgr_v2m0 -h /Library/Server/ProfileManager/Config/var/PostgreSQL -c "DELETE FROM library_item_tasks WHERE completed_at IS NOT NULL"
sudo -u _devicemgr psql -U _devicemgr -d devicemgr_v2m0 -h /Library/Server/ProfileManager/Config/var/PostgreSQL -c "DELETE FROM library_item_tasks WHERE completed_at IS NULL"

Guarda el archivo.

De vuelta en la Terminal, hazlo ejecutable:

chmod u+x cleartasks

Para ejecutar:

./cleartasks
    
respondido por el user3439894 16.11.2017 - 15:36

Lea otras preguntas en las etiquetas