Utilizzo di Rsync su DD-WRT

 

Utilizzo di Rsync su DD-WRT

Utilizzo di Rsync su DD-WRT

Dopo avere installato rsync sul mio router Asus RT-AC68U, utilizzando Entware. ho iniziato con il backup incrementale dei miei 3 Raspberry pi. L'utilizzo di rsync è quello standard, ma nella versione per ARM, ci sono delle piccole mancanze/differenze. Per ottenere un backup incrementale del mio centralino asterisk su Raspberry pi, ho usato:

# rsync -zzahlrvp -e 'ssh -p 2233' --progress --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/lost+found"} / ddwrt@192.168.1.1:/mnt/sdaX/cartella_backup

Utilizzo di Rsync su DD-WRT

enjoy 😉

 

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

 

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

Il comando SCP in Linux è usato per trasferire files o cartelle in maniera sicura usando ssh, tra server locali e/o remoti.

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

 

Copiare file da locale a remoto:

# scp -v /path/local/file.txt remoteuser@remotehost:/remote/path/

se si utilizza una porta differente:

# scp -v -P 2200 /path/local/file.txt remoteuser@remotehost:/remote/path/

Copiare file da remoto a locale

# scp -v remoteuser@remotehost:/path/file.txt /path/local

Copiare cartella in maniera ricorsiva e compressa da locale a remoto:

# scp -vrC -P 2200 /path/local/folder remoteuser@remotehost:/remote/path/

Copiare cartella in maniera ricorsiva e compressa da remoto a locale:

# scp -vrC -P 2200 remoteuser@remotehost:/remote/folder/ /path/local/

Limitare la banda:

# scp -vrC -l 500 -P 2200 /path/folder remoteuser@remotehost:/remote/path/

Copiare file/cartella tra 2 hosts remoti:

# scp -v remoteuser1@remotehost1:/path/file.txt remoteuser2@remotehost2::/path/directory/

 

enjpy 😉

Backup del Sistema con Rsync

 

Backup del Sistema con Rsync

 

Backup del Sistema con Rsync. Rsync è un leggero e potente strumento per il backup. Permette di eseguire backup incrementali, salvando i soli file modificati o aggiunti rispetto all'ultima operazione di backup, sia in locale che in remoto. Si può utilizzare per un backup dell'intero sistema o di cartelle specifiche.

Installazione:

# apt install rsync -y

Rsync locale:

# rsync -zav /percorso/origine /percorso/backup

per cancellare nella cartella di destinazione i file non più presenti nella cartella di origine basta aggiungere l'opzione –delete:

# rsync --delete -zav /percorso/origine /percorso/backup

Backup del Sistema:

per escludere dal backup files o cartelle si utilizza l'opzione –exclude:

# rsync -zaAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /percorso/backup

Rsync da locale a remoto con ssh:

$ rsync -zavh -e ssh /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

se si utilizza una porta diversa per ssh:

$ rsync -zavh -e 'ssh -p 2200' /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

per visualizzare il progresso del backup:

$ rsync -zavh -e 'ssh -p 2200' --progress /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

Rsync da remoto a locale con ssh:

$ rsync -zvah -e 'ssh -p 2200' remoteuser@remotehost:/percorso/del/file /cartella/destinazione

Rsync senza password ssh:

# ssh-keygen

alle domande successive premere sempre invio e copiare la chiave sul server:

# ssh-copy-id -i $HOME/.ssh/id_rsa.pub remoteuser@remotehost

a questo punto se tutto è andato bene non verrà più richiesta la password e si può accedere direttamente:

# ssh remoteuser@remotehost


Backup automatico:

a questo punto si può decidere che tipo di backup effettuare:

ogni giorno alle 23:00

00 23 * * *

ogni sabato alle 23:00

00 23 * * 6

oppure al 1° di ogni mese alle 23:00:

00 23 1 * *

$ crontab -e

ed inserire l'opzione desiderata:

00 23 * * * rsync -zav /percorso/origine /percorso/backup

Backup del Sistema con Rsync

enjoy 😉

 

Speedtest da teminale in Linux con Testspeed

 

Speedtest da teminale in Linux con Testspeed

Speedtest da teminale in Linux con Testspeed

Qualche tempo fa avevo scritto un post su come effettuare uno speedtest da terminale, utilizzando speedtest-cli. Adesso utilizzo anche un'altro programmino in python, che si chiama Testspeed. Anche questo si appoggia a speedtest.net.

Installazione:

$ sudo apt-get install git python-lxml python-argparse
$ git clone git://github.com/Janhouse/tespeed.git
$ cd tespeed
$ git submodule init
$ git submodule update

Utilizzo:

$ cd tespeed/
$ ./tespeed.py

per una lista di server disponibili utilizzare:

$ ./tespeed.py -ls
edmond@debianbox:~/tespeed$ ./tespeed.py -ls
Getting ready
Printing CSV formated results to STDOUT.
Loading speedtest configuration...
IP: 151.66.XXX.XXX; Lat: 45.626800; Lon: 9.053600; ISP: WIND
Loading server list...
1. http://speedtest.siportal.it/speedtest/ (SIPORTAL SRL, Milano, Italy) [23.02 km]
2. http://speedtest.cheapnet.it/speedtest/ (CWNET, Milan, Italy) [23.54 km]
3. http://speedtestmi1.telecomitalia.it/speedtest/ (Telecom Italia S.p.A., Milan, Italy) [23.54 km]
4. http://speedtest-mi.tre.it/speedtest/ (H3G, Milan, Italy) [23.54 km]
5. http://spd-pub-mi-01-01.fastwebnet.it/ (Fastweb SpA, Milan, Italy) [23.54 km]
6. http://speedtest.vodafone.it/speedtest/speedtest/ (Vodafone IT, Milan, Italy) [23.54 km]
7. http://sp.joinconferencing.com/speedtest/ (Join srl, Milan, Italy) [23.54 km]
8. http://speedtest-roz.italiaonline.it/speedtest/ (ItaliaOnline, Milan, Italy) [23.54 km]
9. http://79.171.160.66/speedtest/speedtest/ (Linkem SPA, Milan, Italy) [23.54 km]
10. http://speedtest.cdlan.it/speedtest/ (CDLAN S.R.L., Milan, Italy) [23.54 km]

per utilizzare il server vodafone:

$ ./tespeed.py http://speedtest.vodafone.it/speedtest/speedtest/

Speedtest da teminale in Linux con Testspeed

enjoy 😉

 

Creare una Debian Jessie Live persistente con firmware non-free

 

Creare una Debian Jessie Live persistente con firmware non-free

 

Guida su come creare una Debian Jessie Live persistente con firmware non-free, alla Debian way. Possedere una chiavetta usb con la propria distribuzione preferita può ritornare utile, sia come OS di riserva, live o installabile, sia come strumento di lavoro. Per avere un buon strumento di lavoro, bisogna però avere tutti i propri programmi preferiti, e per ottenere ciò bisogna creare una Debian Live in modalità persistente. Con la modalità persistente, si può installare tutto quello che serve e portarsi dietro i documenti preferiti,  ed addirittura la distribuzione può essere aggiornata, senza paura che al riavvio le modifiche vadano perse. Quello che serve come prima cosa è scaricare la Debian Live iso-hybrid, scegliendo anche il proprio Desktop Environment, ed alcuni pacchetti:

 

# apt-get install mbr syslinux p7zip

 

la mia chiavetta di 8G viene identificata come /dev/sdb, quindi la guida utilizzerà questa sintassi:

Inserire la chiavetta usb e verificare come viene identificata, la mia come /dev/sdb con 2 partizioni:

# fdisk -l
# umount /dev/sdb1
# umount /dev/sdb2

 

Formattazione:

# dd count=1 bs=512 if=/dev/zero of=/dev/sdb

 

Creazione tabella delle partizioni e di 2 partizioni, una in fat32 l'altra in ext4:

# parted /dev/sdb
(parted) mklabel msdos                                          
(parted) mkpart primary fat32 1 1536M                                  
(parted) mkpart primary ext4 1536 8G
(parted) set 1 boot on                                                   
(parted) q

 

Creazione filesystem:

# /sbin/mkdosfs -n live /dev/sdb1
# /sbin/mkfs.ext4 -L persistence /dev/sdb2
# mkdir /mnt/live
# mkdir /mnt/persistence
# mount /dev/sdb1 /mnt/live
# mount /dev/sdb2 /mnt/persistence
# cd /mnt/live
# 7z x /percorso_iso_scariicata/debian-live-8.2.0-amd64-mate-desktop+nonfree.iso

 

Modificare il file live.cfg inserendo le opzioni persistence e noeject:

# nano isolinux/live.cfg

dove la prima parte deve essere come sotto:

label live-amd64
        menu label ^Live (amd64)
        menu default
        linux /live/vmlinuz
        initrd /live/initrd.img
        append boot=live components persistence noeject quiet splash

 

Creazione del dispositivo usb bootable e della seconda partizione persistente:

# /sbin/install-mbr /dev/sdb
# syslinux -i /dev/sdb1
# mv isolinux syslinux
# mv syslinux/isolinux.cfg syslinux/syslinux.cfg
# mv syslinux/isolinux.bin syslinux/syslinux.bin
# cd /mnt/persistence
# echo / union > persistence.conf
# cd ..
# umount /mnt/live
# umount /mnt/persistence

A questo punto si può riavviare e provare la Debian Jessie Live persistente con firmware non-free. La prima cosa da fare volendo è quella di aggiornare il sistema per poi installare i propri programmi preferiti:

# apt-get update && apt-get upgrade -y

Utente e password di default sono: username=user password=live

 

enjoy 😉

 

Copiare un file contemporaneamente in più directory

 

Per copiare un file contemporaneamente in più directory, si può scegliere di usare il comando xargs, a cui si dirà di eseguire un determinato comando più volte. Quindi invece di copiare con questi tre comandi:

 

$ cp file /percorso/dir1
$ cp file /percorso/dir2
$ cp file /percorso/dir3

 

se ne userà solamente uno:

 

$ echo /percorso/dir1 /percorso/dir2 /percorso/dir3 | xargs -n 1 cp -v file

 

enjoy 🙂

 

Speedtest da teminale in Linux

 

Speedtest da teminale in Linux

 

 

Per misurare la velocità della connessione internet, si può fare anche uno speedtest da teminale in Linux, utilizzando Speedtest-cli. Scritto in Python CLI, si appoggia al sito Speedtest.net per misurare la velocità della connessione, sia in download che in upload. Per installarlo su Debian dai repository:

 

# apt-get install python-pip
# pip install speedtest-cli

 

manualmente:

$ wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
# chmod a+rx speedtest_cli.py
# mv speedtest_cli.py /usr/local/bin/speedtest-cli
# chown root:root /usr/local/bin/speedtest-cli

 

effettuare uno speedtest:

 

# speedtest-cli

 

speedtest con condivisione:

 

# speedtest-cli --share

 

lista dei server:

 

# speedtest-cli --list

 

cambiare server:

 

# speedtest-cli --server 4302

 

root-DebianJessie speedtest-cli --list
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
2567) Prometeus di Daniela Agro (Cologno Monzese, Italy) [14.66 km]
5502) Linkem SPA (Milan, Italy) [14.86 km]
3667) Telecom Italia S.p.A. (Milan, Italy) [14.86 km]
5331) C.U. SRL (Milan, Italy) [14.86 km]
4302) Vodafone IT (Milan, Italy) [14.86 km]
4388) ItaliaOnline (Milan, Italy) [14.86 km]
2824) H3G (Milan, Italy) [14.86 km]
1392) ENTER S.r.l. (Milan, Italy) [14.86 km]
3997) NGI SpA (Busto Arsizio, Italy) [21.39 km]
4492) GOLINE SA (Stabio, Switzerland) [32.53 km]
 999) InternetONE (Varese, Italy) [33.51 km]
ecc.ecc.ecc.ecc

aggiornare speedtest-cli:

# pip install speedtest-cli –-upgrade

enjoy 😉

 

Confrontare il contenuto di due cartelle usando diff

 

Puo capitare di volere confrontare il contenuto di due cartelle simili, ed uno dei metodi potrebbe essere quello di usare il comando diff:

 

$ diff --suppress-common-lines -y <(cd /percorso/cartella1; find .|sort) <(cd /percorso/cartella2; find .|sort)

 

questo comando mostrerà nel terminale solo sul lato destro, le differenze tra le due cartelle. In caso di un output lungo è meglio redirigere il tutto in un file di testo:

 

$ diff --suppress-common-lines -y <(cd /percorso/cartella1; find .|sort) <(cd /percorso/cartella2; find .|sort) >confronto.txt

 

enjoy 😉

 

Generare codice QR per rete wifi da terminale

 

codice-qr

 

 

Per generare un codice QR della propria rete wifi ospiti, si può usare il terminale con l'aiuto di qrencode e zenity.

 

# apt-get install qrencode zenity

 

per creare il codice QR wifi:

 

$ qrencode -s 5 -o code-qr-wifi.png "WIFI:S:$(zenity --entry --text="Nome Rete (SSID)" --title="Creazione QR Wifi");T:WPA2;P:$(zenity --password --title="Password Wifi");;"

 

Qual'è il nome/password della mia rete ospiti?

 

enjoy 😉