# Lancement .sh



## symbol (27 Février 2018)

Bonjour

J'ai mon script qui est pret, je souhaite le lancer a certaines heures (14h00 et 21h00).

Je suis allé dans Calendrier, créé une alerte.







Mais j'ai eu un message d'erreur qui me parle de sandbox.





Comment lancer mon script selon mes besoins (14h00 & 21h00) ???
autre question : Un mac en mode veille, va t-il realiser des taches (lancement d'un script par exemple) ?

Merci


----------



## Membre supprimé 1129907 (27 Février 2018)

Ceci devrait faire ce que tu souhaites

Creating Launch Daemons and Agents : https://developer.apple.com/library...stemStartup/Chapters/CreatingLaunchdJobs.html

Une version proche de ce dont tu as besoin :

```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.local.kenocheck</string>
    <key>ProgramArguments</key>
    <array>
      <string>/Users/user/kenocheck2.9.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
      <dict>
        <key>Hour</key>
        <integer>14</integer>
        <key>Minute</key>
        <integer>00</integer>
      </dict>
      <dict>
        <key>Hour</key>
        <integer>21</integer>
        <key>Minute</key>
        <integer>00</integer>
      </dict>
    </array>
  </dict>
</plist>
```


----------



## symbol (27 Février 2018)

Avec automator on peut pas faire ca ?

Genre créer une action ou autre, qui serait ensuite lancer via calendrier

Ca serait plus simple et plus souple en cas de changement d'horaire de lancement.


----------



## Membre supprimé 1129907 (27 Février 2018)

Effectivement, la méthode que j'utilise n'est pas simple d'utilisation...
Je n'ai jamais testé avec automator


----------



## symbol (28 Février 2018)

J'ai testé avec automator.

Quand je lance le .sh manuellement ca faire nickel. Si je le lance a partir d'un evenement créé dans calendrier, ca marche a moitié.

Etrangement une partie du script (la génération du resultats.txt vers .jpg ne fonctionne pas.).

Je ne comprends vraiment pas pourquoi puisque ca fait partie du script :-/

Ce qui marche avec automator, quand je lance avec evenement Calendrier :
- le script se lance a heure prévue
- recupère les pronos des joueurs sur mon forum
- va chercher le tirage + date sur le site de la FDJ
- génère et sauvegarde un fichier .txt a partir des infos downloadées

Ce qui ne fontionne pas :
- devrait convertir le fichier .txt (tirage + date + combinaisons gangantes ) en .pdf puis en .jpg et sauvegarder le fichier.

```
## converti le fichier RESULTATS.txt en image jpg (sans application externe)
cupsfilter RESULTATS.txt > RESULTATS.pdf 2> /dev/null
sips -s format jpeg RESULTATS.pdf --out RESULTATS.jpg 1> /dev/null
```

Voici le processus que j'utilise


----------



## Membre supprimé 1129907 (28 Février 2018)

Utilise le chemin complet dans tes scripts


----------



## symbol (28 Février 2018)

Est ce ca c'est le chemin complet ?


```
## converti le fichier RESULTATS.txt en image jpg (sans application externe)
cupsfilter /Users/xxx/Desktop/RESULTATS.txt > /Users/xxx/Desktop/RESULTATS.pdf 2> /dev/null
sips -s format jpeg /Users/xxx/Desktop/RESULTATS.pdf --out /Users/xxx/Desktop/RESULTATS.jpg 1> /dev/null
```

SI c'est le bon chemin, ... ben ca marche toujours pas :-/


----------



## Membre supprimé 1129907 (28 Février 2018)

Tout à fait

Je viens de tester en me basant sur le tutoriel suivant et je n'arrive pas à lancer mon script ...
http://naelshiab.com/tutoriel-comment-declencher-vos-scripts-automatiquement-sur-votre-ordinateur/

C'est bizarre que ça ne fonctionne pas mais aussi sans doute normal au niveau sécurité.


----------



## daffyb (1 Mars 2018)

ecatomb a dit:


> Ceci devrait faire ce que tu souhaites
> 
> Creating Launch Daemons and Agents : https://developer.apple.com/library...stemStartup/Chapters/CreatingLaunchdJobs.html
> 
> ...



J’aurais fait ça avec cron [emoji12]

Mais ce qui est bien c’est qu’on a le choix !
https://support.apple.com/en-ie/gui...s-apdd556274b-9cc9-4764-bba8-87610a745747/mac


----------



## Membre supprimé 1129907 (1 Mars 2018)

Chacun choisit la méthode qu’il préfère
J’aime bien la mienne car on peut donner un interval de planification plutôt qu’un instant précis


----------



## symbol (2 Mars 2018)

@ecatomb

Tu indique 
	
	



```
"<string>/Users/user/kenocheck3.0.sh</string>"
```
C'est pas plutot  
	
	



```
"<string>/Users/xxx/Desktop/KenoCheck3.0.sh</string>
```
   ??

J'imagine que ca se place dans  :  SSD 525/Library/LaunchDaemons    ?


----------



## symbol (2 Mars 2018)

J'ai essayé en changeant
"<string>/Users/user/kenocheck3.0.sh</string>" par "<string>/Users/xxx/Desktop/KenoCheck3.0.sh</string>

j'ai mis le fichier dans /bibliotheque/LaunchDaemons/KENOCHECK.plist

Bah... il s'est rien passé  a 14h15    LOL


----------



## daffyb (2 Mars 2018)

symbol a dit:


> J'ai essayé en changeant
> "<string>/Users/user/kenocheck3.0.sh</string>" par "<string>/Users/xxx/Desktop/KenoCheck3.0.sh</string>
> 
> j'ai mis le ifchier dans /bibliotheque/LaunchDaemons/KENOCHECK.plist
> ...



T’as redémarré ?


----------



## symbol (2 Mars 2018)

Y'a 10 minutes (+redemarrage), j'ai mis le fichier dans -> bibliotheque/launchAgent/KENOCHECK.plist

Dans le fichier KENOCHECK.plist, j'ai modifié et mis ->      
	
	



```
<string>/Users/xxx/Desktop/KenoCheck3.0.sh</string>
```

Il semblerait que ca ai marché

Est-i possible d'avoir une banniere/alerte quand le .sh se lance ?


----------



## Membre supprimé 1129907 (2 Mars 2018)

Effectivement, c'est bien avec 
	
	



```
<string>/Users/xxx/Desktop/KenoCheck3.0.sh</string>
```

Le fichier plist doit être copié dans "/Library/LaunchAgents". Voici la liste des commandes/actions à faire avec les fichiers plist :


```
#Liste des plist actif
launchctl list | grep com.local

#Lister les plist du répertoire
ls -l /Library/LaunchAgents

#Copier le plist dans le répertoire
sudo cp "/Users/xxx/KENOCHECK.plist" /Library/LaunchAgents/KENOCHECK.plist

#Vérifier qu'il est correct
plutil /Library/LaunchAgents/KENOCHECK.plist

#Forcer le plist à se lancer sans attendre l'heure prévue
launchctl start com.local.KENOCHECK

#Lancer le plist pour qu'il tourne normalement
sudo launchctl load /Library/LaunchAgents/KENOCHECK.plist

#Supprimer le plist
sudo launchctl unload /Library/LaunchAgents/KENOCHECK.plist
sudo rm /Library/LaunchAgents/KENOCHECK.plist
```

Pour une notification lors du lancement du script, aucune idée.


----------



## daffyb (2 Mars 2018)

ecatomb a dit:


> Effectivement, c'est bien avec
> 
> 
> 
> ...



Dans ton script tu ajoutes un open d’un fichier text. 
On peut peut être faire une notification, mais là il va falloir demander à Google.


----------



## symbol (3 Mars 2018)

Merci.


----------



## symbol (4 Mars 2018)

Après une recherche googleienne, ca devrait faire l'affaire :


```
osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
```


----------

