je vérifierai le script avec shellcheck https://www.shellcheck.net/ (existe en paquet dans les distributions)
suivant les contextes, certains préfèrent #!/usr/bin/env bash en shebang
j'aurais ajouté un set -eu -o pipefail au début pour s'éviter des problèmes plus tard
j'ai toujours du mal avec SRC d'un côté et DEST en 4 lettres de l'autre. Pourquoi pas DST dans ce cas, c'est cohérent en termes de pas de voyelles et c'est plus joli pour l'indentation
je préfère les printf à echo dès que les variables arrivent
j'aime bien expliciter les arguments dans les scripts, surtout sur des commandes que je n'utilise pas forcément tous les jours d'une part, et aussi pour les autres qui liraient le script (donc au lieu de -a je mettrais --archive par exemple). Les versions courtes c'est sympa quand on les écrit, mais moins quand on les lit (genre curl -sSLf).
la possibilité d'écrire dans le fichier de log n'est pas testée et on laisse rsync échouer s'il y a des soucis de permissions par exemple (pas forcément un souci)
on oscille entre français et anglais dans le code et les commentaires (bon en vrai j'aurais juste mis sauvegarde au lieu de backup)
la terminologie n'est pas cohérente entre "début" et "terminé" (donc commencé ou fin ?)
j'aurais mis des exit 0/1/2 dans les différents cas pour donner une information via le code de retour.
# Mes remarques
Posté par Benoît Sibaud (site web personnel) . En réponse au message Premier script bash pour backups, je tente un peu plus ambitieux. Évalué à 10.
#!/usr/bin/env bashen shebangset -eu -o pipefailau début pour s'éviter des problèmes plus tardprintfàechodès que les variables arrivent-aje mettrais--archivepar exemple). Les versions courtes c'est sympa quand on les écrit, mais moins quand on les lit (genrecurl -sSLf).