0 votes

script pour reconnaître si la tâche a déjà été effectuée puis mettre à jour le fichier texte/la liste.

Je prévois d'exécuter un script qui mettra à jour nos Macs avec le nouveau package/installateur de licence Adobe mais je ne veux pas qu'il s'exécute si la tâche a été exécutée auparavant.

J'aimerais voir un script qui puisse vérifier la présence d'un fichier local (ex. /Library/adobecc2018.txt) qui serait placé à cet endroit après que la re-sérialisation ait été complétée une fois. Si le fichier adobecc2018.txt n'est pas là, le script complet sera exécuté. Si le fichier adobecc2018.txt est là, je veux que le script se termine et n'aille pas plus loin.

De plus, j'aurai un autre fichier .txt sur un réseau partagé et j'aimerais que le fichier soit rempli avec le nom de l'ordinateur une fois que le script est exécuté afin que nous ayons une liste d'ordinateurs que nous puissions regarder pour voir quels ordinateurs ont été réparés et lesquels ne l'ont pas été.

J'ai retrouvé le script sur lequel j'ai travaillé l'année dernière mais nous ne l'avons pas utilisé. Donc la première partie de ma question est répondue mais je dois encore trouver comment ajouter du texte dans un .txt. Par exemple : /share/adobeupdate.txt

J'aimerais voir quelque chose comme ça :

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

1voto

Michael Zhou Points 167

D'après votre commentaire, vous devriez ajouter cette ligne dans la condition qui "sérialise" le fichier s'il n'existe pas.

printf '%s - %s\n' "$(scutil --get ComputerName)" "$(date)" >> /share/adobeupdate.txt

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X