1 votos

Comandos de terminal en Automator para el mantenimiento de Profile Manager

Estoy utilizando MacOS Server para gestionar nuestros iPads y el Profile Manager tiene constantemente problemas que me obligan a detener el servicio y reiniciar el servidor. También limpio las tareas completadas y no completadas (esto a veces ayuda). Me gustaría utilizar Automator para ejecutar una tarea diaria para limpiar las tareas completadas de la base de datos y otra para limpiar las tareas no completadas semanalmente.

Este es el código que tengo, ¿puede alguien ayudarme a configurar esto para Automator?

Borrar las 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"

Despejado 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"

0 votos

Una pregunta por pregunta. He eliminado la pregunta relativa a la reindexación, que puedes hacerla en otra pregunta. Dicho esto, los comandos que has mostrado son shell por lo que para qué utilizar Automator cuando un bash script en el Terminal servirá?

0 votos

No conozco el bash script. Si alguien puede escribir esto en bash se lo agradecería. He heredado este servidor de Mac y todavía estoy aprendiendo.

0voto

user3439894 Puntos 5883

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

El ./filename lo requiere en el método PWD en el Terminal, de lo contrario utilice el nombre de ruta completamente calificado . Colocándolo en un directorio en el PATH suele ser más fácil de ejecutar posteriormente, según sea necesario, sólo con filename .

Ejemplo:

En la terminal:

touch cleartasks
open cleartasks

Añadir al expediente 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 nuevo en el Terminal, hazlo ejecutable:

chmod u+x cleartasks

Para ejecutar:

./cleartasks

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X