cara encrypted remote backup menggunakan rsync

Dokumen ini menjelaskan metode yang saya gunakan untuk melaksanakan remote backup ke kantor file dan database. Hal ini menunjukkan bahwa rsync adalah alat yang sangat berguna untuk backup. Dokumen memiliki hanya ide kasar saya menyiapkan sistem cadangan menggunakan rsync.

Gambar : Pertama, Persiapkan Hal Yang Ingin Dibackup

Secure Copy dari remote host

Option atau opsi yang dipilih adalah :

  • Data dari remote server harus dalam archived mode
  • Rsync bekera dalam SSH sebagai secure channel, send/receive hanya menggunakan files dan remove files pada tujuan akhir jika file sumber akan dihapus untuk pengabungan.

Server yang digunakan untuk  backup berjalan di Openbsd, Sementara server sumber yang didukung berjalan pada Red Hat Linux. Server juga dapat berjalan pada sistem operasi lain seperti Freebsd.

Langkah-Langkah

1.Install Aplikasi rsync dengan Paket RPM atau OpenBSD. Install pada dua sisi server; pada server backup dan jug di server sumber yang berniat untuk digunakan sebagai backup.

2.Install chroot environment.

3.Buat akun user untuk rsync. Sebagai contoh user disini menggunakan nama rsyncUID. Di redhat:

adduser rsyncUID -g users

4.Jalankan skrip create_chroot_env.sh.
Saya telah memodifikasi bagian dari script karena aku tidak mampu untuk logon dari server cadangan saya. Anda dapat menemukan script dimodifikasi saya disini.

Anda dapat mengedit APPS variable di dalam skrip untuk menambah atau menghapus aplikasi.

./create_chroot_env.sh rsyncUID

5.Disable login untuk akun ( rsyncUID) , tambahkan simbol * pada kolom password di file. (use vipw). Ini untuk menghidari direct login.

6.tambahkan trailing /./ pada akhir direktori user home.

rsyncUID:*:510:100:rsync user:/home/rsyncUID/./:/bin/bash

Perhatian : Semua langkah di atas kecuali nomor 1 dieksekusi pada server yang ingin Anda backup.

7. Generate ssh key agent pada server backup. key akan tersedia di /home/rsyncUID/.ssh/ Berikut adalah langkah-langkah untuk membuat kunci, hal ini dilakukan hanya sekali:

su - rsyncUID ( logon to the newly created rsync user)
cd /home/rsyncUID/.ssh/
ssh-keygen -t dsa ( simply press enter for any passphrase)

8.Copy generated key dengan ekstensi *.pub ke server yang ingin dibackup.

scp id_dsa.pub root@IP_Server_to_backup:/tmp

9. Di server lainnya mana ada sumber data, lakukan hal berikut:

su - rsyncUID
 mkdir .ssh
 cd .ssh
 cat /tmp/id_dsa.pub >> authorized_keys2 (transfer keys from backup server)

10.Coba koneksi dari Server backup, untuk memastikan anad tidak pada top level di rangka root.

# ssh -l rsyncUID IP_Source_data_Server
# cd /
# ls -l

11. Sekarang, server backup dari network internal bisa logon langsung dengan rsyncUID pada server sumber tanpa password, dengan chroot enabled. Bagian ini sangat penting ketika kita inigin schedule backup melalui crontab.

12.Coba untuk rsync, command harus bekerja dan tidak mengeluarkan error  dan files di copy ke backup server:

Pada Server sumber:

su - rsyncUID
mkdir source
touch source/testfile.txt
Dari Backup server:

rsync -av --delete -e ssh chrootssh@wwwdev.asiaosc.org:~/source ~/

Anda akan melihat report seperti ini:

receiving file list ... done
source/
source/testfile.txt
wrote 32 bytes read 135 bytes 66.80 bytes/sec
total size is 0 speedup is 0.00

Ini adalah skrip sederhana untuk melakukan backup dokument pada webroot, databases dan CVS. Hanya menggunakan Rsync dari server cadangan.

$HOME/rsyncUID/script/backup.sh

# $Id: backup.sh,v 1.1.1.1 2003/01/24 12:04:48 pazli Exp $
 #
 #!/usr/local/bin/bash

echo === Begin Backup Databases on Live Machine `date`
 /usr/local/bin/rsync -avz --delete -e ssh rsyncUID@IP_OF_THE_SERVER:/home/rsyncUID/database/ /home/rsyncUID/database/

echo
 echo ==== Begin Backup CVSROOT `date`
 /usr/local/bin/rsync -avz --delete -e ssh rsyncUID@10.1.9.213:/data/cvsroot/ /home/rsyncUID/cvsbackup/cvsroot

/usr/local/bin/rsync -avz --delete -e ssh rsynUID@10.1.9.213:/data/cvsroot_msm/ /home/rsyncUID/cvsbackup/cvsroot_msm

echo
 echo ==== BEGIN Backup Webroot on Live Machine `date`

backuphistoryfolder=~/previous/webroot/old.`date +%Y%m%d-%H%M`
 backupfolder=~/webroot/
 sourcefolder=/var/www/html/

mkdir -p $backuphistoryfolder

rsync -avrtz --exclude "usage/" --delete --backup \
 --backup-dir $backuphistoryfolder -e ssh \
 rsynUID@IP_OF_THE_SERVER:$sourcefolder $backupfolder

# remove only empty folder
 rmdir $backuphistoryfolder

echo =======End Backup Live Databases, Live Webroot , CVSROOT ======== ; echo;

13.Enable crontab pada schedule backup.

su – rsyncUID
 crontab -e

Tambakan pada baris di crontab:

# Backup Live Databases, CVSROOT, Webroot on Live
 15 23 * * 1-5 ~/script/backup.sh >>/var/log/backup.sh.log 2>&1

14.Enable users untuk melihat backup data sebelumnya pada backup server melalui samba services. Jadi, nanti windows users bisa mengakses dengan Windows Network-Neigbourhood untuk menemukan file backed up sebelumnya.

Parts of my /etc/samba/smb.conf

[netfiles]
 comment = netfiles syncronized
 path = /home/rsyncUID/netfiles
 valid users = pazli user1 user2 user3
 public = no
 writable = no

[previous]
 comment = previous changed files
 path = /home/rsyncUID/previous
 valid users = pazli user1 user2 user3
 public = no
 writable = no

[webroot]
 comment = Live server webroot
 path = /home/rsyncUID/webroot
 valid users = pazli user1 user2 user3
 public = no
 writable = no

Kemudian, restart samba service.

Bagaimana dengan database backup?

Mysqldump akan membackup database secara lokal, dan rsync melalukan copy dengan transfer data dari backup server pada internal network.

Root crontab to backup database locally:

0 22 * * 1-5 /root/database/backup-database.sh

The script might look like this:

#!/bin/bash

d=`date +%Y-%m-%d_%H%M`

mysqldump -pxxxxxx wikidb > /home/rsyncUID/database/wikidb.sql
 mysqldump -pxxxxxx postnuke > /home/rsyncUID/database/postnuke.sql

cd /home/rsyncUID/database
 tar czf wikidb.${d}.tar.gz wikidb.sql
 tar czf postnuke.${d}.tar.gz postnuke.sql

# Optionally the script will email backup database.
 # /usr/bin/uuencode /home/rsyncUID/database/wikidb.${d}.tar.gz wikidb.${d}.tar.gz | /bin/mail -s 'mysqldump: Opensource wikidb' pazli@mimos.my

# /usr/bin/uuencode /root/database/postnuke.${d}.tar.gz postnuke.${d}.tar.gz | /bin/mail -s 'mysqldump: Opensource postnuke' pazli@mimos.my

Bagaimana restore database dari backup?

Contoh:

Restore database ke server baru:

mysqladmin -p create database_name
 tar xzvf database.tar.gz
 mysql -p database_name < database.sql mysql -p GRANT select, insert, update, create, alter, delete, drop ON database_name.* TO database_user@localhost IDENTIFIED BY 'xxxxxx'; flush privileges; Backing up Windows->Unix.

1.Share folder dari windows dengan password
eg. Windows Anda Hostname: //leywin
shared foldera anda adalah Data
2.Mount windows shared folder pada unix.
Linux untuk mount windows:

mkdir /mnt/pazliwin98
 smbmount //leywin/data /mnt/pazliwin98/

Openbsd untuk mount windows:
saya install shlight dari Openbsd Ports sebagai smbmount substitute:

cd /usr/ports/net/sharity-light/
 make install
 /usr/local/sbin/shlight //leywin/data/ /mnt/pazliwin98/

Tambahkan windows hostname pada /etc/hosts jika laporan error muncul.

3.Terakhir, schedule backup anda dengan skrip sederhana saya yaitu rsync script.

# $Id$
 #
 #!/usr/local/bin/bash

backuphistoryfolder=~/personalhistory/old.`date +%Y%m%d-%H%M`
 backupfolder=~/personal/
 sourcefolder=/mnt/pazliwin98/

mkdir -p $backuphistoryfolder

rsync -avz --delete --backup \
 --backup-dir $backuphistoryfolder $sourcefolder $backupfolder

# remove only empty folder
 rmdir $backuphistoryfolder

Pengetahuan Lebih Lanjut:

1.Untuk configure CHROOT
http://mail.incredimail.com/howto/openssh/
2.Untuk backup mysql database
http://www.theprojects.org/tutorials/mysqldump.php

Facebook Rilis Open Source Library

FAISS adalah open source library yang dirilis oleh Facebook untuk mencari kesamaan dan kekelompokan dimensi tinggi data. Perpustakaan ini menemukan aplikasi dalam dataset yang kompleks seperti gambar dan video yang tidak bisa muat di RAM sekaligus.

Dengan metode pembelajaran mesin, booming terjadi di dataset dan variasi domain. Dengan dataset besar ini, perangkat keras menjadi macet. Pengolahan dataset ini memerlukan kemampuan memori tinggi bandwidth dan prosesor. Selain itu, pengindeksan titik data, pengelompokan dan pencarian menjadi sangat susah.

Para peneliti di Facebook AI Research(FAIR) baru saja menerbitkan sebuah makalah penelitian yang menggambarkan desain yang efisien untuk pengelompokan dan kesamaan pencarian. Struktur algoritma baru mereka melakukan jauh lebih cepat daripada sebelumnya yaitu state-of-art algoritma dan memanfaatkan GPU untuk memori bandwidth yang lebih tinggi.

Berdasarkan penelitian mereka, mereka telah membuat sebuah perpustakaan yang disebut FAISS dan itu adalah open-source. Meskipun algoritma untuk pencarian pengelompokan dan kesamaan terkenal, Perpustakaan ini mengoptimalkan algoritma untuk melakukan efisien di GPU.

Beberapa algoritma diterapkan di library termasuk :

  1. Fast K-Nearest Neighbour
  2. QuickSelect
  3. Warpselect
  4. K-Means clustering

Sebagai uji coba, pada gambar berikut, yang pertama dan terakhir gambar yang diberikan dan algoritma menghitung transisi antara gambar dari koleksi gambar sebanyak 95 juta

Kelebihan dari FAISS Library:

  • Ditulis dalam C ++ dengan lengkap Python
  • Mendukung GPU tunggal/ganda
  • Sangat Scalable, biasanya mendukung hingga 100 dimensi
  • Dibangun di BLAS dan CUDA Library
  • 8,5 x kinerja yang lebih cepat daripada saat ini perpustakaan state-of-art

Bagi anda yang ingin mencoba library ini, dapat diakses di repo GitHub Library FAISS.

Industri Mobile China menggunakan Linux dan Open Source

China Mobile adalah salah satu terbesar perusahaan telekomunikasi di dunia, dengan lebih dari 800 juta pengguna di RRC–semuanya disajikan dengan teknologi open source. Selama 2016 Mobile World Congress, China Mobile menyatakan bahwa sistem pendukung operasional yang menjalankan jaringan besar mereka akan didasarkan pada perangkat lunak open source. China Mobile ini tidak sendirian; banyak vendor jaringan utama bergerak untuk membuka sumber teknologi. Sebagai contoh, AT&T adalah membangun jaringan mereka masa depan di atas sekolah, dan mereka telah berinvestasi dalam teknologi perangkat lunak-didefinisikan signifikan bahwa mereka sekarang menyebut diri mereka sebuah perusahaan perangkat lunak.

China Mobile bukanlah satu-satunya vendor yang merangkul Linux dalam industri ini. Deputi Manajer Umum di Cloud Computing Products mengatakan bahwa perusahaan-perusahaan seperti Alibaba dan Baidu juga memiliki kelompok-kelompok internal yang tugasnya adalah untuk hanya mengoptimalkan distribusi Linux untuk konsumsi sendiri. Kelebihan Linux tidak hanya memotong biaya berat (Anda tidak perlu membayar jutaan dolar untuk memperoleh langganan atau lisensi untuk ribuan mesin), tetapi perusahaan dapat juga mengikuti sebagian besar update untuk jaringan dan infrastruktur.

China Mobile membeli di sekitar 4.000-5.000 server setiap tahun, dan sebagian besar server ini menggunakan Linux. Sebelumnya, mereka menggunakan versi komersial Linux – terutama SUSE Linux Enterprise Server dan RHEL – tetapi pada tahun 2015 tim mereka membuat versi khusus dari Linux yang memberi mereka lebih banyak kontrol atas infrastruktur mereka yang juga dapat memotong biaya.

Sistem operasi baru didasarkan pada CentOS, dan pada tahun 2016, China Mobile digunakan lebih dari 10.000 server fisik yang menjalankan versi Linux ini disesuaikan dalam lingkungan produksi.

Biaya dan kontrol

Ketika ditanya tentang keuntungan menggunakan Linux kustom sendiri, Zhihong menunjukkan dua faktor penentu: biaya dan kontrol.

Biaya adalah alasan pertama dan telah menjadi faktor yang paling penting, kata Zhihong. Departemen pembelian membuat semua keputusan dan mengendalikan semua transaksi untuk perusahaan, dan mereka pikir itu terlalu mahal untuk membayar untuk sebuah sistem operasi komersial sebagai biaya bisa lari ke ratusan jutaan dolar.

Alasan kedua adalah kontrol lebih baik atas infrastruktur mereka. “Dengan distribusi Linux kustom, kita bisa mendorong batas-batas kami karena kami memiliki banyak perangkat lunak tingkat rendah. Kami menggunakan KVM untuk virtualisasi dan Ceph untuk penyimpanan, dengan banyak fine tuning dan optimasi di tingkat kernel. Jika ada bug, atau jika kita membutuhkan fitur baru dapat mengambil banyak waktu untuk berbicara dengan vendor dan mendapatkan perubahan ke OS. Dengan menggunakan distribusi kita sendiri kita memperoleh kemampuan ini.”

Namun, menjalankan distribusi mereka sendiri tidak berarti bahwa mereka tidak memberikan kontribusi kepada komunitas Linux. Zhihong mengatakan bahwa kontribusi adalah bagian inti dari menggunakan Linux atau perangkat lunak open source yang lain. Dia mengatakan lebih dari 100 kontributor dari perusahaan berkontribusi kernel. Setiap kali ada bug, mereka memperbaikinya dan mengirimkan patch.

Ia juga menambahkan bahwa Linux sangat kuat di Cina, dengan banyak kelompok-kelompok lokal Linux, dan ia berkata banyak karyawan dari perusahaan adalah bagian dari komunitas Linux tersebut. “Linux adalah sangat banyak diterima di Cina, ada banyak programer Linux,” kata Zhihong.

Superuser

Selain Linux, China Mobile adalah pengguna berat teknologi open source lain. “Kami menggunakan banyak teknologi open source:Openstack, Hadoop, Zookeeper, Tomcat, Ceph, dan begitu banyak yang tidak tak mungkin saya jabarkan semua,” kata Zhihong.

China Mobile adalah lebih dari sekedar operator seluler; mereka menawarkan banyak layanan lainnya. Mereka memiliki banyak aplikasi itu sehingga mereka telah menjalankan awan pribadi mereka sendiri selama bertahun-tahun. Cloud pribadi mereka tersebar di tiga kolam di tiga wilayah Cina. Ada ribuan server berjalan di kolam ini, tetapi awan adalah berpemilik dan tidak open source.

Tahun 2015, openstack telah stabil dan cukup matang untuk dianggap serius oleh orang-orang seperti China Mobile. Jadi, China Mobile mulai membangun baru sekolah pribadi awan tersebar melalui dua kolam renang, dengan tiap kolam yang menjalankan server lebih dari 3.000. Setelah proyek tersebut selesai, mereka akan menghubungkannya ke awan eksklusif yang sudah ada dan sedikit demi sedikit menggantinya dengan sekolah.

Komitmen mereka untuk Openstack dan Opensoruce menyebabkan mereka memenangkan penghargaan Openstack award tahun lalu. Openstack sebagian besar terlihat sebagai jawaban awan swasta AWS dan Microsoft Azure, tapi China Mobile menggunakan Openstack kedua melalui cloud. Cloud publik mereka memiliki lebih dari 3000 server. Hal ini mirip dengan AWS mana menyediakan mesin virtual, objek yang berbasis penyimpanan, dan layanan lainnya seperti itu kepada pelanggan. Memiliki lebih dari 20.000 pengguna terdaftar dan sekitar 2.000 pengguna enterprise.

Cina adalah pasar yang besar bagi perusahaan-perusahaan seperti China Mobile dengan lebih dari satu miliar calon pelanggan, dan juga pusat manufaktur di dunia. Sebagai perusahaan semakin besar merangkul Linux dan open source, Cina mungkin berevolusi dari konsumen Linux untuk salah satu kontributor yang terkemuka.

Google Menyediakan Open Source Chrome browser Untuk iOS

Google memberikan open source browser Chrome pada Apple iOS platform, setelah membuat perubahan yang memungkinkan kode untuk menjadi bagian dari Projek Chromium browser.

Kode akan dipindahkan ke repositori Chrome Open source, yang memungkinkan pengembang untuk membangun browser Chrome-seperti mereka sendiri. Itu telah disimpan terpisah dari Chromium karena apple persyaratan bahwa semua browser iOS dibangun pada mesin render WebKit Apple harus dikendalikan.

Tetapi setelah bertahun-tahun memisahkan WebKit dari Chrome untuk kode iOS, Chrome untuk kode iOS kembali bergabung dengan chromium, Google mengatakan dalam buletin. (Chrome di sistem operasi lain menggunakan Google browser mesin sendiri.)

Chromium open source

Pengembang dapat mengkompilasi versi iOS Chromium seperti mereka bisa untuk versi Chromium lainnya. Google mengatakan itu telah menghabiskan banyak waktu selama beberapa tahun terakhir membuat perubahan yang diperlukan untuk memindahkan kode untuk Chrome untuk iOS ke Chromium.

Sebagai akibatnya, pengembangan aplikasi web harus lebih cepat, karena semua tes untuk Chrome untuk iOS telah tersedia untuk Chromium browser. Chromium, menyediakan sumber terbuka inti dari Chrome, telah memungkinkan spin-off dari browser.

Petunjuk tentang membangun Chromium untuk iOS mengatakan membangun iOS lebih rumit daripada membangun desktop. Sebagai bagian dari dimasukkannya Chrome untuk iOS dalam projek Chromium, Google juga menyediakan ios/build/tools/setup-gn.py script untuk membuat empat membangun direktori untuk rilis dan debug perangkat simulator membangun dan untuk menghasilkan kerja Apple Xcode.