Re, On Thu, Oct 01, 2020 at 01:31:16PM +0200, magnus wrote: > On 2020-10-01 11:46, felix wrote: > > cd /pathtobackups && > > cp -al base $(date -r base +base-%Y-%m-%d-%Hh%M) && > > touch base && > > rync ...
> ça ressemble pas mal à rsnapshot (https://rsnapshot.org/). Oui et non: Quand j'ai écrit mon premier backrotate.sh, je nommais le backups: ``base'', ``daily.mon'', ``monthly.dec'', etc. A ce que j'ai vu sur https://wiki.archlinux.org/index.php/Rsnapshot cela ressemble beaucoup. (Mes premiers travaux sur les backups datent de ~2000-2001, je ne connaissais pas rsnapshot...) Mais je me suis rendu compte, à l'usage, que cette ``rotation'' implique d'effacer chaque heure, jour, semaine, etc. le plus ancien, pour le remplacer par son suivant. Or effacer un répertoire contenant plusieurs milions de liens peut constituer une charge notable. C'est la raison pour laquelle, mes backups sont désormais nommés: drwxr-xr-x 10 root root 4096 Oct 1 12:44 base drwxr-xr-x 10 root root 4096 Oct 1 06:46 base-2020-10-01-06-38 drwxr-xr-x 10 root root 4096 Oct 1 00:44 base-2020-10-01-00-38 drwxr-xr-x 10 root root 4096 Sep 30 18:44 base-2020-09-30-18-38 ... ou plus lisible, avec un `h' pour heure: drwxr-xr-x 10 root root 4096 Sep 30 18:44 base-2020-09-30-18h38 Puis mon script delbackups: https://f-hauri.ch/vrac/delbackups.pl.txt va effectuer la liste des backups, classer ceux à conserver et proposer d'effacer ceux devenus superflus. Exemple: Je fais un backup de ``somehost'' toutes les 6 heures, depuis 2014, le script `delbackups.pl' est lancé la nuit. Si je lance ce script maintenant, avec l'argument `-n' (ne rien faire), il affiche les 32 backups à conserver, sur 38 lignes, car p.ex: le dernier d'hier est affiché 3 fois une fois pour l'heure, une fois pour le jour et une fois pour le mois. (Les lignes commençant par un `+' figure la première apparition d'un backup, dans l'affichage) # delbackups.pl -n /backups/somehost Keep 32 (38), delete 3 backups base Hourly 3 + 2020/09/30 18h38 H 74 [ D3 H74 M09 ] + 2020/10/01 00h38 H 02 [ H02 ] + 2020/10/01 06h38 H 26 [ H26 Y2020 ] Daily 7 + 2020/09/24 18h38 D Thu [ D4 ] + 2020/09/25 18h38 D Fri [ D5 ] + 2020/09/26 18h38 D Sat [ D6 ] + 2020/09/27 18h38 D Sun [ D0 W38 ] + 2020/09/28 18h38 D Mon [ D1 ] + 2020/09/29 18h38 D Tue [ D2 ] 2020/09/30 18h38 D Wed [ D3 H74 M09 ] Weekly 9 + 2020/07/31 12h38 W 30 [ M07 W30 ] + 2020/08/09 12h38 W 31 [ W31 ] + 2020/08/16 18h38 W 32 [ W32 ] + 2020/08/23 18h38 W 33 [ W33 ] + 2020/08/30 18h38 W 34 [ W34 ] + 2020/09/06 18h38 W 35 [ W35 ] + 2020/09/13 18h38 W 36 [ W36 ] + 2020/09/20 18h38 W 37 [ W37 ] 2020/09/27 18h38 W 38 [ D0 W38 ] Monthly 12 + 2019/10/31 18h36 M Oct [ M10 ] + 2019/11/30 18h45 M Nov [ M11 ] + 2019/12/31 18h47 M Dec [ M12 Y2019 ] + 2020/01/31 18h50 M Jan [ M01 ] + 2020/02/29 18h45 M Feb [ M02 ] + 2020/03/31 18h44 M Mar [ M03 ] + 2020/04/30 18h38 M Apr [ M04 ] + 2020/05/31 18h38 M May [ M05 ] + 2020/06/30 18h38 M Jun [ M06 ] 2020/07/31 12h38 M Jul [ M07 W30 ] + 2020/08/31 18h38 M Aug [ M08 ] 2020/09/30 18h38 M Sep [ D3 H74 M09 ] Yearly 7 + 2014/12/31 18h42 Y 2014 [ Y2014 ] + 2015/12/31 18h36 Y 2015 [ Y2015 ] + 2016/12/31 18h46 Y 2016 [ Y2016 ] + 2017/12/31 18h47 Y 2017 [ Y2017 ] + 2018/12/31 18h47 Y 2018 [ Y2018 ] 2019/12/31 18h47 Y 2019 [ M12 Y2019 ] 2020/10/01 06h38 Y 2020 [ H26 Y2020 ] There is 3 backups to delete: 2020-09-30-00-38 2020-09-30-06-38 2020-09-30-12-38 Un prochaine version de ce script créera peut-être des liens symboliques: ln -s base-2020-09-30-18-38 daily.wed ln -s base-2020-09-30-18-38 monthly.sep ln -s base-2020-09-30-18-38 hourly.18h30 -- Félix Hauri - <[email protected]> - http://www.f-hauri.ch _______________________________________________ gull mailing list [email protected] https://forum.linux-gull.ch/mailman/listinfo/gull
