martedì 7 novembre 2017

copia e sincronia file con rsync

Aggiornamento nov 2017
copia e sincronia di file con un determinato pattern
rsync -avr ---include "pattern" --include "*/" --exclude "*" <from-path> <to-path>

copia e sincronia file con find per file vecchi
find path -mtime +2000 >/tmp/rsyncfiles #cerca i file modificati o creati più di 2000 giorni fa e li scrive in un file
rsync -Ravh --files-from=/tmp/rsyncfiles . <destination-path> 
attenzione al punto è importante!
Aggiornamento dicembre 2016
http://www.tecmint.com/sync-new-changed-modified-files-rsync-linux/#

Aggiornamento Giugno 2016automatizzare rsync con Crono:
https://www.marksanborn.net/howto/use-rsync-for-daily-weekly-and-full-monthly-backups/


Aggiornamento maggio 2014:
rsync con samba:
si monta prima la periferica di rete samba con il comando
# mkdir /mnt/cifs
# mount.cifs //192.168.101.100/sales /mnt/cifs -o username=shareuser,nounix

attenzione che le opzioni scritte dopo la -o non vogliono spazi
e quindi il gioco è fatto perchè userai il comando rsync come per qualsiasi folder locale

settembre 2013
Se nasce l'esigenza di copiare tonnellate di file e magari fare in modo che le volte successive la copia sia sincronizzata, rsync è il comando più potente anche perchè permette di copiare o sincronizzare in locale ed in remoto tramite ssh
alcune dritte:

questi link danno qualche esmpio utile
http://www.cyberciti.biz/tips/linux-use-rsync-transfer-mirror-files-directories.html
http://www.thegeekstuff.com/2010/09/rsync-command-examples/

gli attribbuti che ho usato
-r per copiare anche le sottodir
--progress mi dice per ogni file quanto ci vuole
-v mi dice che file o dir sta copiando
-a per conservare tutti gli attributi
--delete cancella file nella destinazione che non appartengono al source
--remove-source-files cancella il file copiato dalla dir sorgente
se specifichi una dir di destinazione inesistente lui la crea

per collegarmi ad un computer remoto ho usato ad esempio
# rsync -arve "ssh -l ettore" --delete Dropbox/ 192.168.13.112:~/Dropbox/

# rsync --progress -avre 'ssh -l root' /var/lib/libvirt/images/ 192.168.13.51:/var/lib/libvirt/images/

chiaramente è necessario che lo user ssh abbia i permessi per scrivere

altri esempi utili:
http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/

sabato 28 ottobre 2017

Antix- la distro veramente leggera

la distro più leggera che conosco,
non ha systemd e quindi ad esempio nmcli non funziona
il programma che gestisce le interfacce di rete non è in grado di tenere accese due device
per fare la pennetta avviabile hai bisogno di un antix che ti fa la pennetta. La iso che scarichi la puoi masterizzare su cd o usare per avviare una VM per poi fare la pennetta. Ho provato con dd ma senza successo

inxi per vedere le caratteristiche hardware

giovedì 19 gennaio 2017

Creare e testare una live usb

Oramai i CD sono in via d'estinzione e sono anni che ricorro alle penne USB per avviare live OS sui computer. La situazione delle USB-stick avviabili però a me pare molto più intricata di quella dei CD.
all'inizio c'erano i programmi GUI che la facevano da padrone ma non erano mai compatibili al 100% per tutte le distro. Ho notato anche come sui sistemi Microsoft ci fosse sempre enorme scelta ma sempre abbastanza confusionaria come per tutto ciò che riguarda microsoft.
Poi è arrivato DD... semplice ed efficace
le opzioni nel comando? L'unica che sembrava un po ambiugua era bs (blocksize): 4M dovrebbe assicurarti una buona velocità e compatibilità ma se hai problemi abbassa a 1M.

Purtroppo ci sono vari ostacoli al funzionamento della distro sulla pennetta USB:
  1. l'immagine iso deve essere avviabile: ad esempio alcuni come Antix facevano delle iso non avviabili ed era necessario un programma pper creare una penna usb avviabile. Ciò però può essere verificato come vedremo più tardi;
  2. La penna USB deve essere compatibile con l'avvio della live: ho visto che alcune pennette, benchè visibili fino al grub, dopo non vengono; riconosciute, come se all'avvio il sistema non caricasse i driver per quelle penne. Spero in futuro di capire che tipo di hardware mette in crisi l'avvio
  3. La penna USB non è compatibile con il Bios: nonostante sia letta correttamente il non la riconosce come periferica di boot. Ciò sembra accadere tra computer vecchi e pennette nuove.

Vediamo come verificare il funzionamento di una ISO o di una pennetta

Un esempio per tutti con la iso di mint:
con la penna usb in sdi
scriviamo la pennetta con il comando
sudo dd if=linuxmint-18-xfce-64bit.iso of=/dev/sdi oflag=direct  bs=1M

aggiornamento del 9 sett 2021

per verificare come funziona appicci la macchina virtuale con la USB-stick con un semplice comando:
qemu-system-x86_64 -m 512 -enable-kvm -usb -usbdevice disk:/dev/sdi

per verificare se l'immagine scaricata funziona:
qemu-system-x86_64 -m 512 -enable-kvm linuxmint-18-xfce-64bit.iso

Se l'accensione della macchina virtuale da USB-stick è troppo lenta, ma vuoi verificare se la ISO è scritta correttamente allora puoi riscrivere l'immagina della USB-stick sul disco e avviare quella:
dd bs=4M if=/dev/sdi of=Scaricati/USBstick.img
qemu-system-x86_64 -m 512 -enable-kvm Scaricati/USBstick.img

giovedì 12 gennaio 2017

syncthing

dal linuxday 2016 è uscita una piccola perla:
syncthing
un sistema di sincronizzazione molto semplice tra computer. Il sistema non fa sincronizzazione tra folder locali, o dispositivi esterni come penne usb, etc ma solo fra dispositivi di rete. Completamente opensource e con una GUI http.

Utile per sincronizzare file tra computer multipiattaforma (per windows installate Sync Trayzor)di una LAN.
Con Rsync dovresti utilizzare il protocollo samba e quindi montare il disco remoto come risorsa locale come mostrato QUI. e quindi il computer con linux dovrebbe adoperarsi di fare le sincronie tra le macchine.
Con rsync la cosa è perfettamente biunivoca ed è molto efficace perchè riduce al minimo gli errori.
per linux:
# Add the release PGP keys:
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -

# Add the "release" channel to your APT sources:
echo "deb https://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list

# Update and install syncthing:
sudo apt-get update
sudo apt-get install syncthing

Ottima guida introduttiva:
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-syncthing-to-synchronize-directories-on-ubuntu-14-04

per avviare syncthing sul server senza gui (avendo installato screen):
screen -f -da -m syncthing -no-browser