guide-preparation-vacances/overflow/overflow.md
2021-07-11 18:20:57 -04:00

4.3 KiB

L'appel de logiciels

Il peut être appelé depuis Bash comme suit:

mon_code="Dir['*'].each { |p| File.rename(p, p.downcase) }"
ruby -e ${mon_code}
  • Le script Bash écrit la chaîne de caractère qui contient le code Ruby dans la variable mon_code.
  • Ensuite, il envoie le contenu de mon_code à l'interpréteur du langage Ruby

La manipulation de fichiers

comme suit:

pdftk \
page_couverture.pdf \
table_matieres.pdf \ 
chapitre_1.pdf \
chapitre_2.pdf \ 
conclusion.pdf \
cat output mon_ebook.pdf
  • On lance le logiciel pdftk
  • Ensuite, on énumère dans l'ordre tous les fichiers à concaténer
  • On spécifie l'action. Le mot cat est souvent utilisé pour la concaténation.
  • On spécifie le fichier de sortie après output. Ici, c'est mon_ebook.pdf

Petite note: la barre oblique \ c'est pour couper les lignes pour les rendre plus faciles à lire !

Les tubes

Par exemple, si je veux trouver tous les livres sur le logiciel Spark qui se trouvent dans ma bibliothèque Nextcloud, la commande Bash correspondante prend la forme suivante:

find "nextcloud/Livres" -type f | \
grep -i "voyage|travel"
  • Le premier argument de find est le répertoire de recherche, ici c'est nextcloud/Livres/Technical.
  • Le premier paramètre est type, avec comme valeur f, pour rechercher uniquement les fichiers.
  • Ensuite, il y a un tube vers la commande grep
  • grep a un paramètre, -i qui spécifie que ce qui suit n'est pas sensible à la casse (an anglais case insentitive)
  • Enfin, il y a l'expression de recherche voyage|travel qui va retourner tous les noms de fichiers qui contiennent soit le mot voyage, soit le mot travel

cron sur Linux et macOS

Il est aussi possible de mettre le script à exécuter dans un des 4 répertoires suivants

/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly

Le comportement par défaut est d'exécuter le script à chaque minute. Ensuite, si on veut réduire la fréquence, on spécifie à quel moment exécuter le script.

Planificateur de tâches sur Windows

Une fois la commande exécutée, nous obtenons cette réponse:

TaskPath                                       TaskName                          State
--------                                       --------                          -----
\                                              cocktail-aleatoire                Ready

Tester avant d'exécuter

rsync -av \
--dry-run \
--progress \
--delete \
/source/mondossier \
/destination/mondossier

Fin de l'exécution

Lorsque la commande est terminée, ça va produire un sommaire comme suit:

sent 391,414,597 bytes  received 16,270 bytes  46,050,690.24 bytes/sec
total size is 391,253,238  speedup is 1.00

Afin de valider que la sauvegarde est bien réussie, il suffit d'exécuter à nouveau la commande. Si aucun fichier n'est synchronisé, alors c'est le cas !

Sur Windows

Voici le code pour installer cette extension

Install-Module PSWindowsUpdate

Une fois installée,

Nous allons configurer les mises à jour pour qu'elles s'installent chaque jour à 2h du matin.

$action = New-ScheduledTaskAction -Execute 'Get-WindowsUpdate -AcceptAll -Install -AutoReboot'
$trigger = New-ScheduledTaskTrigger -Daily -At 2am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "mise-a-jour-nocturne"