cdtux
Utente Èlite
- Messaggi
- 1,829
- Reazioni
- 911
- Punteggio
- 108
L'hai fatto veramente :| ?
ovviamente no.. è un reato informatico punibile da 6 mesi a 3 anni di carcere..
Segui il video qui sotto per vedere come installare il nostro sito come web app sulla tua schermata principale.
Nota: Questa funzionalità potrebbe non essere disponibile in alcuni browser.
Pubblicità
L'hai fatto veramente :| ?
Beh, però tu sei un acerino pro! Sai come non farti beccare!ovviamente no.. è un reato informatico punibile da 6 mesi a 3 anni di carcere..
Beh, però tu sei un acerino pro! Sai come non farti beccare!
Sì, ma così che gusto c'é :asd: ? Nessun hacker é un vero hacker se non é megalomane :asd: .Il problema è: perchè spendere mesi per trovare un exploit e/o millemila orpelli tecnici quando ci si può far prestare il telefono per fare una telefonata per poi sbirciare le chat??
Anche questo è hacking (social engineering)
PS. Il famoso William of Ockham (quello del rasoio, non gillette però :asd:) la sapeva lunga..
Sì, ma così che gusto c'é :asd: ? Nessun hacker é un vero hacker se non é megalomane :asd: .
ahahahahah bella questa :figo:Sì, ma così che gusto c'é :asd: ? Nessun hacker é un vero hacker se non é megalomane :asd: .
ma nessuno è bello come il mio!:DIl mio era solo un consiglio sul fatto che esistono un milione di tools per fare i backup incrementali, primo su tutti e di livello enterprise é bacula... Fare uno script complesso non é mai conveniente, o si cambia linguaggio con qualcosa di piú potente del bash o ci si affida a programmi ben rodati.
Poi raga, uno script di backup senza un minimo di file di log è da carcere diretto :asd:
si potrebbe dire: keep it simply stupid, mi ricorda qualcosa..occam, l'antesignano di arch.:asd:PS. Il famoso William of Ockham (quello del rasoio, non gillette però :asd:) la sapeva lunga..
Il problema è che più è complesso e più aumenta la possibilità della casistica non prevista (non è questo il caso ma vedo che ogni giorno aggiungete pezzi :asd: )ma nessuno è bello come il mio!:D
in realtà non ho tempo per imparare linguaggi, quindi me ne basta uno e visto che con arch è bene saper un po' di bash..la complessità non mi spaventa, anzi mi aguzza l'ingegno, tanto non ci lavoro: datemi un buon libro o un complesso script in bash e me ne sto buono per una giornata intera..ora che ci penso non ho ancora fatto un backup in anni e anni di uso di computer.:asd:
Ma lui uccide anche demoni, non fa solo il gigolò!In tanti anni avrò fatto due-tre backup di cui uno giusto ieri sera. :cav:
Una errata configurazione di /etc/systemd/system.conf mi aveva fatto credere che il disco mi stesse lasciando, così mi son preparato al peggio. -_-
Comunque vien da se che lo script si evolvi.
@rebellion Invece di far carriera come gigolò, avresti avuto un futuro come dev, le attitudini non ti mancano. :asd:
a proposito con le aggiunte avrei finito, ora ci sono le migliorie grafiche:rock1:Il problema è che più è complesso e più aumenta la possibilità della casistica non prevista (non è questo il caso ma vedo che ogni giorno aggiungete pezzi :asd: )
PS: Se hai tempo da perdere avrei almeno un centinaio di progettini da terminare :lol:
#!/bin/bash
export MAIN_DIALOG='
<window title="BACKUP" width-request="400" height-request="250">
<vbox>
<frame Cartella da Copiare>
<hbox>
<entry editable="false" accept="directory">
<label>Seleziona la cartella da copiare</label>
<variable>prov</variable>
</entry>
<button>
<input file stock="gtk-open"></input>
<action type="fileselect">prov</action>
</button>
</hbox>
</frame>
<frame Cartella di Backup>
<hbox>
<entry editable="false" accept="newdirectory">
<label>Crea o scegli la cartella di backup</label>
<variable>dest</variable>
</entry>
<button>
<input file stock="gtk-open"></input>
<action type="fileselect">dest</action>
</button>
</hbox>
</frame>
<hbox>
<button ok></button>
<button cancel></button>
</hbox>
</vbox>
</window>
'
for STATEMENTS in $(gtkdialog --program MAIN_DIALOG); do
eval $STATEMENTS
done
echo $EXIT $prov $dest
if [ "$EXIT" = "OK" ] && ([ "$dest" != "" ] && [ "$prov" != "" ]) && [ $(du -s $prov | awk '{print $1}') -lt $(df $dest | tr "\n" ' ' | awk '{print $12}') ]
#if [ "$EXIT" = "OK" ]
then
cartella=${prov##*/}
count=0 ; for i in $(find $dest -maxdepth 1 -name *.tar.gz) ; do let count=count+1 ; done
backupfile=$cartella"_backup"$count"-"$(date +%d-%m-%Y).tar.gz
testo="cartella di destinazione:
$dest
cartella di provenienza:
$prov
file di backup:
$backupfile"
zenity --question --title="BACKUP INCREMENTALE" --text="$testo"
if [ $? -eq 0 ]; then
log="backup_"$cartella.idx
if [ -e $dest/$backupfile ]; then
zenity --notification --window-icon="info" --text="c'è già un backup, non più di un backup al giorno"
else
(tar c --listed-incremental=$dest/$log f - $prov | pv -n -s $(du -sb $prov | awk '{print$1}') | gzip > $dest/$backupfile) 2>&1 | zenity --progress --no-cancel --width=450 --height=120 --title="BACKUP $cartella" --text="backup in esecuzione, attendere.."
zenity --notification --window-icon="info" --text="backup eseguito con successo."
fi
else
zenity --notification --text="gestione backup terminata, ciao."
fi
else
if [ "$EXIT" = "OK" ]
then
if [ "$prov" != "" ] && [ $(du -s $prov | awk '{print $1}') -gt $(df $dest | tr "\n" ' ' | awk '{print $12}') ] ; then zenity --notification --window-icon="error" --text="backup non eseguito: spazio su disco non sufficiente." ; fi
if [ "$dest" = "" ] || [ "$prov" = "" ] ; then zenity --notification --text="provenienza e/o destinazione vuote, gestione backup terminata, ciao." ; fi
else
zenity --notification --text="gestione backup terminata, ciao."
fi
fi
exit 0
#!/bin/bash
export MAIN_DIALOG='
<window title="GESTIONE LIBRERIA">
<vbox>
<frame inserimento titolo>
<entry max_length="25">
<variable>titolo</variable>
<width>450</width><height>30</height>
</entry>
</frame>
<frame inserimento autore>
<entry max_length="25">
<variable>autore</variable>
<width>450</width><height>30</height>
</entry>
</frame>
<frame inserimento genere>
<entry max_length="25">
<variable>genere</variable>
<width>450</width><height>30</height>
</entry>
</frame>
<frame inserimento editore>
<entry max_length="25">
<variable>editore</variable>
<width>450</width><height>30</height>
</entry>
</frame>
<frame inserimento anno 1a pubblicazione>
<entry max_length="4">
<variable>anno</variable>
<width>450</width><height>30</height>
</entry>
</frame>
<frame inserimento note>
<edit editable="true">
<variable>note</variable>
<width>450</width><height>150</height>
</edit>
</frame>
<hbox>
<button cancel></button>
<button ok></button>
</hbox>
</vbox>
</window>
'
I=$IFS; IFS=""
for STATEMENTS in $(gtkdialog --program MAIN_DIALOG); do
eval $STATEMENTS
done
IFS=$I
if [ "$EXIT" = "OK" ]; then
echo $STATEMENTS $I $IFS
else
echo "You pressed the Cancel button."
fi
##to be finished..