abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:44 | IT novinky

    Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | IT novinky

    Společnost Meta Platforms vyhrála ostře sledovaný spor o akvizici sítě pro sdílení fotografií Instagram a komunikační aplikace WhatsApp. Podle amerického soudu firma jejich převzetím neporušila antimonopolní zákon, protože si tak nemonopolizovala trh sociálních sítí. Žalobu na Metu podala před pěti lety americká Federální obchodní komise (FTC). FTC argumentovala, že Meta, tehdy známá jako Facebook, koupila tyto dvě společnosti v letech 2012 a 2014 proto, aby s nimi nemusela soutěžit.

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | IT novinky

    Home Assistant včera představil svůj nejnovější oficiální hardware: Home Assistant Connect ZBT-2 pro připojení zařízení na sítích Zigbee nebo Thread.

    Ladislav Hagara | Komentářů: 5
    včera 19:44 | Nová verze

    Byla vydána verze 9.1 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 1
    včera 17:44 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,809 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější superpočítač v Evropě JUPITER Booster s výkonem 1,000 exaFLOPS je na čtvrtém místě. Nejvýkonnější český superpočítač C24 klesl na 192. místo. Karolina, GPU partition klesla na 224. místo a Karolina, CPU partition na 450. místo. Další přehledy a statistiky na stránkách projektu.

    Ladislav Hagara | Komentářů: 14
    včera 17:22 | IT novinky

    Microsoft představil Azure Cobalt 200, tj. svůj vlastní SoC (System-on-Chip) postavený na ARM a optimalizovaný pro cloud.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | IT novinky

    Co způsobilo včerejší nejhorší výpadek Cloudflare od roku 2019? Nebyl to kybernetický útok. Vše začalo změnou oprávnění v jednom z databázových systémů a pokračovalo vygenerováním problém způsobujícího konfiguračního souboru a jeho distribucí na všechny počítače Cloudflare. Podrobně v příspěvku na blogu Cloudflare.

    Ladislav Hagara | Komentářů: 3
    18.11. 23:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) první RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    18.11. 23:22 | Komunita

    Eugen Rochko, zakladatel Mastodonu, tj. sociální sítě, která není na prodej, oznámil, že po téměř 10 letech odstupuje z pozice CEO a převádí vlastnictví ochranné známky a dalších aktiv na neziskovou organizaci Mastodon.

    Ladislav Hagara | Komentářů: 0
    18.11. 19:44 | Nová verze

    Byla vydána nová major verze 5.0 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (15%)
     (17%)
    Celkem 372 hlasů
     Komentářů: 17, poslední včera 21:57
    Rozcestník

    Užitečné skripty 5: zálohujeme SVN repositář

    28.3.2007 21:21 | Přečteno: 1487× | Linux

    V dnešním díle zvedneme kvalitu seriálu zpátky na rozumnou úroveň a ukážeme si skript na zálohování SVN repositáře. Pokud si svoje textové výtvory skladujete v SVN, jistě oceňujete to, že si můžete zjistit všechny verze a změny, které jste kdy napsali. Je však potřeba myslet na katastrofickou situaci, když se nějak pokazí repositář. Potom se hodí záloha repositáře. Pokud máte repositářů víc, jistě se hodí skript, který celou akci zautomatizuje.

    Abstrakt

    Své texty (opravdové texty, skripty, konfiguráky apod.) si ukládám do SVN. Používám více repositářů, protože věci, které spolu opravdu nesouvisejí, raději dávám zvlášť. Abyste věděli předem, co od skriptu očekávat, tady je stručný přehled:

    Samotný skript

    Základem skriptu je kód zveřejněný v jedné internetové diskusi, viz [1]. Skript je trochu delší.
    Soubor backup.sh
    1. #!/bin/sh
    2. #Skript na zalohovani SVN
    3. #Use: $0 <what to backup>
    4. #based on http://snippets.dzone.com/posts/show/2635
    5. call_exit(){
    6. echo -n "Error code $1 - "
    7. case "$1" in
    8. 1)
    9. echo "Cannot find place for backup, exitting"
    10. ;;
    11. 2)
    12. echo "Backup dir is not present, exitting"
    13. ;;
    14. 3)
    15. echo "Backup dir is not writable, exitting"
    16. ;;
    17. esac
    18. exit $1
    19. }
    20. #Setup
    21. infoDir=${HOME}/.backup #directory, where information about stored revisions is kept
    22. svnRepository=${HOME}/SVN #repository location
    23. externalBackupMountPoint1='/mnt/mp3' #first mountpoint to try
    24. externalBackupMountPoint2='/mnt/local/mp3' #second mountpoint to try
    25. externalBackupDir='backup' #path in the mounted disc (asume the disc can be mounted on two locations)
    26. defaultBackup='phd' #what to backup, if nothing is given on commandline
    27. #End of setup
    28. #Find a location for the backup
    29. if [ `mount | grep $externalBackupMountPoint1 | wc -l` -eq 1 ]
    30. then
    31. backupDir="$externalBackupMountPoint1/$externalBackupDir"
    32. elif [ `mount | grep $externalBackupMountPoint2 | wc -l` -eq 1 ]
    33. then
    34. backupDir="$externalBackupMountPoint2/$externalBackupDir"
    35. else
    36. call_exit 1
    37. fi
    38. [ -d $backupDir ] || call_exit 2
    39. [ -w $backupDir ] || call_exit 3
    40. echo =============================================
    41. echo ============ Backup utility =================
    42. echo =============================================
    43. echo
    44. echo Using $backupDir for the backup
    45. timeStamp=`date +%F-%H-%M-%S`
    46. #function to dump SVN repository
    47. dumpDir(){
    48. dir=$1 #what repository to backup
    49. dirBaseName=`basename $dir` #basename of the repository to backup
    50. echo Processing $dir
    51. youngest=`svnlook youngest $dir` #last (youngest) revision in the repository
    52. if [ -r $infoDir/$dirBaseName ]; then #if we have information about the last backupped revision
    53. latest=`cat $infoDir/$dirBaseName` #last revision
    54. if [ $latest -lt $youngest ]; then #if the last backuped revision is older than the youngest
    55. cil=${backupDir}/`basename $dir`_$latest_$youngest_$timeStamp.gz #file name where to backup
    56. echo Running incremental backup from revision $latest to revision $youngest
    57. echo Target is $cil
    58. svnadmin dump $dir --incremental -r $latest:$youngest | gzip > $cil # the command itself
    59. cp $infoDir/$dirBaseName $infoDir/$dirBaseName.old #backup the old setting
    60. echo $youngest > $infoDir/$dirBaseName #write the information about the backup
    61. else #no change since the last backup
    62. echo No need to backup
    63. fi
    64. else #if we have no info about last backup, run full backup
    65. cil=${backupDir}/`basename $dir`_0_$youngest_$timeStamp.gz
    66. echo Runnig full backup up to revision $youngest
    67. echo Target is $cil
    68. svnadmin dump $dir | gzip > $cil #the command itself
    69. [ -d $infoDir ] || mkdir $infoDir
    70. echo $youngest > $infoDir/$dirBaseName #write the information about the backup
    71. fi
    72. echo Done
    73. }
    74. #if nothing is given on commandline, $defaultBackup is backed up
    75. what=$1
    76. if [ "x$1" = "x" ]
    77. then
    78. what=$defaultBackup
    79. fi
    80. case "$what" in
    81. all)
    82. for dir in $svnRepository/*
    83. do
    84. dumpDir $dir
    85. done
    86. ;;
    87. *)
    88. dir=${svnRepository}/${what}
    89. if [ -d $dir ]
    90. then
    91. dumpDir $dir
    92. else
    93. echo $dir is not a valid SVN repository
    94. exit 2
    95. fi
    96. ;;
    97. esac
    98. echo All Done

    Lehké vysvětlení:

    Obnovení ze zálohy

    Pro nedostatek času toto téma vynechávám, můžete se vyřádit v diskusi.

    Odkazy

    1. http://snippets.dzone.com/posts/show/2635

    Místa k vylepšení, otázky

    1. Zlepšit reakci na vzniklé chyby, například, když dump repositáře nefunguje, jak má (řádky 62 a 72)
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    David Watzke avatar 28.3.2007 21:33 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Užitečné skripty 5: zálohujeme SVN repositář
    what=$1
    
    if [ "x$1" = "x" ]
    then
    	what=$defaultBackup
    fi
    lze nahradit za
    what=${1:-$defaultBackup}
    P.S.: s/exitting/exiting/g
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.