Script para confirmar si la tarea ya se realizó y luego actualizar el archivo de texto / lista

0

Planeo que se ejecute un script que actualizará nuestras Mac con el nuevo paquete / instalador de licencias de Adobe, pero no quiero que se ejecute si la tarea se ha ejecutado antes.

Me gustaría ver un script que pueda buscar un archivo local (por ejemplo, /Library/adobecc2018.txt) que se colocará en esta ubicación después de que se haya completado la re-serialización una vez. Si el archivo adobecc2018.txt no está allí, se ejecutará el script completo. Si el adobecc2018.txt está ahí, quiero que el script finalice y no continúe.

También, tendré otro archivo .txt en una red compartida y me encantaría ver que el archivo se rellene con el nombre de la computadora una vez que se ejecute el script, así que tenemos una lista de computadoras que podemos ver para ver qué computadoras han sido reparadas y cuáles no.

Encontré el guión en el que trabajé el año pasado, pero no lo usamos. Así que la primera parte de mi pregunta es respondida, pero aún debo averiguar cómo agregar texto en un .txt. Ejemplo: /share/adobeupdate.txt

Me gustaría ver algo como esto:

ComputerName-Date
ComputerName2-Date
ComputerName3-Date
ComputerName4-Date
ComputerName5-Date
etc.
#!/bin/bash

echo "Adobe Update Script"

####
#### If file /Library/Scripts/adobecc2018.txt DOES exist then exit
####
if [[ -f "/Library/adobecc2018.txt" ]] ; then
    echo '2018/19 Adobe Serialization Fix Already Applied - No more actions required'
    exit
fi


####
#### If file /Library/Scripts/adobecc2018.txt does NOT exist continue script
####
if [ ! -e "/Library/adobecc2018.txt" ]; then
    echo 'Adobe is using the OLD serial number - Now applying new 2018/19 Adobe Serialization'
#   touch /Volumes/shares/macscripts/adobecc2018_serialization_fix.command
    sudo touch /Library/adobecc2018.txt
    echo 'Adobe 2018/19 Serialization Completed'
fi

# Script End

exit 0  
    
pregunta Carter 30.08.2018 - 18:45

1 respuesta

1

De acuerdo con tu comentario, luego agregarías esta línea en la condición de que "serializar" sea el archivo si no existe.

printf '%s - %s\n' "$(scutil --get ComputerName)" "$(date)" >> /share/adobeupdate.txt
    
respondido por el fd0 30.08.2018 - 20:17

Lea otras preguntas en las etiquetas