come si esegue il backup del codice sul computer locale? [duplicare]

2

Ho una cartella contenente tutto il mio codice (codice funzionante, codice esperimento). Vorrei eseguire il backup su un file zip su un disco rigido esterno o qualsiasi altra cosa migliore. Come si fa a fare il backup del codice?
Hai configurato il tuo server di controllo del codice sorgente?
Usi uno script per comprimere tutti i file?

    
posta AZ. 24.09.2011 - 23:10
fonte

8 risposte

7

Una parola: Git.

Esegui commit a livello locale tutte le volte che vuoi, offrendoti un backup. Sposta da remoto tutte le volte che vuoi, offrendoti un backup offsite. Avere una cronologia completa di tutte le modifiche, essere in grado di eseguire il fork locale e remoto, in modo da poter giocare con le idee.

Ed è facile da configurare. Non è così semplice da imparare, ma chiunque possa imparare a programmare può imparare a usare Git per esperienza.

    
risposta data 24.09.2011 - 23:36
fonte
4

Uso BitBucket che fornisce entrambi i sistemi di controllo di revisione git e mercurial. Gratuitamente puoi avere archivi privati illimitati (gli unici limiti sono sul numero di persone con accesso.)

Per tutto ciò che non è nel controllo di versione (principalmente roba non di codice) io uso dropbox.

    
risposta data 25.09.2011 - 00:16
fonte
2

Progetti personali locali: vai su un repository memorizzato nel mio account Dropbox.

Progetti di lavoro locali: SVN su un server remoto e una copia ruotante memorizzata nel mio Dropbox per ogni evenienza.

    
risposta data 25.09.2011 - 00:29
fonte
1

Localmente: avrei il codice in due unità, insieme a una copia del codice in USB Pendrive

Internet: utilizzo google project hosting o microsoft sky-drive. Ci sono anche altri siti come Codeplex, git-hub ma non li ho usati.

Internet IMO è più sicuro, perché non si può davvero aspettare che Google e Microsoft scendano :-)

    
risposta data 24.09.2011 - 23:21
fonte
1

Scrivo codice sulla mia macchina Mac / Linux e ho un account di shell Linux separato online con il mio host web. Così ho scritto uno script di shell che mi ha permesso di caricare la directory del mio codice e di scriverla sul mio account di shell online. Il tipo di script assomiglia a:

#!/bin/csh -f

if ($#argv == 0) then
    echo "Usage: archive_and_upload.csh dir"
    exit 1
endif

set filename = $argv[1]

if (! -e $filename) then
    echo "$filename does not exist"
    exit 1

else if ((-e $filename) && (! -d $filename)) then
    echo "$filename exists but is not a directory"
    exit 1

endif

set timestamp = 'date "+%Y_%m_%d__%H_%M"'

set output_link = "${filename}_${timestamp}"

if (-e $output_link) then
    echo "The link $output_link could not be created because it already exists."
    exit 1
else
    ln -sf $filename $output_link
endif

set output_tar_filename = "${output_link}.tar"
set output_targz_filename = "${output_tar_filename}.gz"


# Create tar file 

echo ""
echo "Creating tar file '$output_tar_filename'"

tar hcvpf $output_tar_filename $output_link
set tar_status = $status
if ($tar_status != 0) then
    echo "tar failed with status $tar_status"
    # Clean up
    if (-e $output_link) then
        rm $output_link
    endif
    exit 1
endif
echo "Done."


# Create gzip file 

echo ""
echo "Gzipping tar file '$output_tar_filename'"

gzip $output_tar_filename
set gzip_status = $status
if ($gzip_status != 0) then
    echo "tar failed with status $gzip_status"
    # Clean up
    if (-e $output_link) then
        rm $output_link
    endif
    exit 1
endif
echo "Done."


# Upload to the server

echo ""
echo "Uploading  '$output_targz_filename'  to server"
echo ""

scp -p $output_targz_filename  [email protected]:target/directory/ 

# Clean up
if (-e $output_link) then
    rm $output_link
endif

exit 0
    
risposta data 24.09.2011 - 23:32
fonte
1

Servizio di backup online. Ce ne sono molti adesso. Ma un respostory di CVV locali è una buona idea per il backup del codice, perché la cronologia dello sviluppo che fornisce è alla fine inestimabile.

    
risposta data 25.09.2011 - 00:07
fonte
0

Uso una di queste due tecniche:

A. Usa controllo del codice sorgente, github, codice google, codeplex
B. Se il controllo del codice sorgente è eccessivo per il tuo progetto, usa dropbox o live mesh per duplicare sostanzialmente il codice su più macchine.

    
risposta data 24.09.2011 - 23:32
fonte
0

Svolgo la maggior parte del mio lavoro a casa con Mac OS X. Ho il mio repository Subversion. Eseguo TimeMachine, che esegue backup continui dell'intero sistema su un'unità esterna. Alla fine di ogni mese cambio unità esterne e prendo l'unità offline per lavorare in sicurezza. Sono sicuro che ci sono equivalenti TimeMachine per Linux e Windows.

    
risposta data 25.09.2011 - 00:09
fonte

Leggi altre domande sui tag