Sinkronisasi Data Antara 2 Mac

Sehari-hari di rumah saya bekerja menggunakan Mac mini. Namun bila pergi ke kantor atau ke tempat client, saya membawa Macbook Air. Bekerja dengan dua komputer menimbulkan masalah sinkronisasi data. Sehari-hari saya melakukan 2x sinkronisasi secara manual. Sebelum berangkat kerja saya melakukan sinkronsasi dari Mac mini ke Macbook Air dan sepulang kerja saya melakukan sinkronisasi balik dari Macbook Air & Mac mini. Repot? Resiko bekerja dengan 2 komputer yang berbeda.

 photo IMG_1899_zps3d38ea42.jpg

Saya memilih untuk menggunakan rsync untuk melakukan sinkronisasi. Perintah yang dipakai seperti berikut :

rsync -tarv --delete  ~/ORACLE-Stuff/ 192.168.10.13:~/ORACLE-Stuff/

Perintah ini dilakukan dari Macbook Air, untuk melakukan sinkronisasi ke Mac mini. Folder ORACLE-Stuff adalah tempat saya menyimpan semua berkas pekerjaan. Sementara IP 192.168.10.13 adalah IP statik Mac mini saya. Opsi --delete itu maksudnya semua berkas yang ada di Mac mini namun tidak ada di Macbook akan dihapus sebelum proses sinkronisasi berjalan. Opsi -t dipakai untuk mempertahankan modification date semua berkas yang disinkronisasi.

Memang sekarang layanan cloud sudah banyak dan mudah digunakan seperti misalnya Dropbox. Saya bisa saja menaruh semua data pekerjaan di folder Dropbox sehingga tidak perlu lagi melakukan sinkronisasi manual seperti di atas. Tapi dengan kondisi akses internet sekarang rasanya menggunakan Dropbox tidak efisien. Folder kerja saya ukurannya cukup besar, mencapai 27GB. Memang saya punya space kosong di Dropbox mencapai puluhan Gigabyte, tapi bukan itu kendala utamanya. Kendala utamanya menurut saya adalah memindahkan semuanya ke Dropbox mungkin perlu waktu berhari-hari untuk menyelesaikan proses upload & sinkronisasinya.

Balik lagi ke soal rsync tadi, daripada mengetik perintah yang sama berulang-ulang saya simpan kedua perintah tadi dalam file .bashrc di Macbook Air.

ttirtawi@macbook-air:~$ cat .bashrc 
syncmacbooktomacmini(){
    echo "    rsync -tarv --exclude=OracleLinux_6_OCCN.ova ~/ORACLE-Stuff/  192.168.10.13:~/ORACLE-Stuff/ "
    echo "Syncronize MacBook data to MacMini :"
    echo "  rsync -tarv --delete --exclude=OracleLinux_6_OCCN.ova ~/ORACLE-Stuff/ 192.168.10.13:~/ORACLE-Stuff/"
    while true; do
        read -p "Are you serious to sync MacBook to MacMini? " yn
        case $yn in
            [Yy]* ) echo "Starting to sync..."; rsync -tarv --delete --exclude=OracleLinux_6_OCCN.ova ~/ORACLE-Stuff/ 192.168.10.13:~/ORACLE-Stuff/; break;;
            [Nn]* ) exit;;
            * ) echo "Please answer yes or no.";;
        esac
    done
}

syncmacminitomacbook(){
    echo "Syncronize MacMini data to Macbook :"
    echo "  rsync -tarv --delete --exclude=OracleLinux_6_OCCN.ova  192.168.10.13:~/ORACLE-Stuff/ ~/ORACLE-Stuff/"
    while true; do
        read -p "Are you serious to sync MacMini to Macbook? " yn
        case $yn in
            [Yy]* ) echo "Starting to sync..."; rsync -tarv --delete --exclude=OracleLinux_6_OCCN.ova  192.168.10.13:~/ORACLE-Stuff/ ~/ORACLE-Stuff/; break;;
            [Nn]* ) exit;;
            * ) echo "Please answer yes or no.";;
        esac
    done
}
ttirtawi@macbook-air:~$

Jadi saya tinggal jalankan fungsi syncmacminitomacbook atau syncmacbooktomacmini, lumayan menghemat mengetik perintah rsync yang cukup panjang tadi.

Fungsi sinkronisasi tadi bisa juga saya gunakan saat saya ingin menyamakan data dari Macbook ke laptop kantor (Lenovo X220). Saya menggunakan ElementaryOS Linux di Lenovo x220, selama rsync terinstal di komputer tersebut proses sinkronisasi data jadi mudah.

Solusi lain yang lebih mudah mungkin dengan memindahkan semua data pekerjaan yang dipakai oleh beberapa komputer ke dalam external harddisk. Semua data di simpan dalam external harddisk, tinggal colok ke komputer mana saat diperlukan. Meskipun sederhana tapi saya rasa cara ini kurang efisien, malah cenderung ribet. Bagaimana dengan Anda? Apa metode Anda untuk sharing data antara beberapa komputer?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.