Updated post here: https://codeyarns.github.io/tech/2016-02-13-megasync-client-not-syncing.html
Eclipse has a strange behavior that I have not seen in any other editor or IDE. Assume that a file belonging to a project in the workspace has been modified outside of Eclipse. If you now open that file in Eclipse, it does not open it, but shows this error:
Resource is out of sync with the file system: '/src/foo.cpp'. Press 'F5' or select File > Refresh to refresh the file.
You can press
F5 and the file will be displayed.
I cannot imagine a scenario in practice where I would not want to keep the updated file. To make this out of sync error go away by refreshing files automatically, you have two options:
- You can make Eclipse refresh the file automatically when it is opened. To do this enable Windows -> Preferences -> General -> Workspace -> Refresh on access.
You can make Eclipse refresh the file by being signaled by the filesystem (this is efficient) or polling the filesystem (this is inefficient). This is efficient only on Windows. To do this enable Windows -> Preferences -> General -> Workspace -> Refresh using native hooks or polling.
Tried with: Eclipse 4.5 and Ubuntu 14.04
Copy provides 15GB of free space online in a Dropbox like two-way sync and cloud storage. The reason I tried it was that it has clients for almost all systems, including Linux, Android and even Raspberry Pi!
- Download the Linux client from here. It worked with both Ubuntu and Raspberry Pi.
Unzip the contents to a suitable directory. The client binary will be run from this location on every restart of your system, so choose the location well.
Both commandline and GUI clients are available. I used the GUI client on my desktop Ubuntu and commandline client on my Raspberry Pi.
- On Ubuntu I used the
x86_64build of the client. I like that the GUI client works just like Dropbox: stays in system tray and has similar UI. You just need to run it the first time:
$ ./x86_64/CopyAgent &
- The GUI will prompt you for login, password and sync directory the first time. From the next time it runs automatically. It even adds itself to the Startup Applications list and will start with Linux from the next reboot.
- On Raspberry Pi, I use the
armv6hbuild of the client. I call the client by specifying the sync directory to use, the login, the password and also request it to run in the background as daemon:
$ ./armv6h/CopyConsole -root=/my/sync/dir -email@example.com -password=hushhush -daemonize
- That is it! Add, delete and modify the files in your sync directory and see them sync them across multiple computers!
Tried with: Copy 1.48.0456, Ubuntu 14.04 and Raspbian 7
You might find that the People app in Android does not sync the contacts you added in Gmail as soon as you do it. This might be because you turned off automatic sync for your Google account in Android.
In your Android device, go to Settings -> Accounts -> Google. You can turn on automatic sync here, if you want. Else, tap on the Google login name and then tap on the Contacts option to just sync only that. Your Gmail contacts and the People contacts in Android should get synced now.
Tried with: Android 4.4.4 and Moto G
There is a Dropbox app for Android, but it does not work like the Dropbox apps on Windows or Linux. It does not sync your Dropbox directory to a local directory. Instead, it only allows you to access files in your Dropbox directory through the app.
If you prefer to have your Dropbox directory synced to a local directory on your Android device, then you might want to try the Dropsync app. It supports both two-way sync and one-way sync. The free app only syncs a single directory inside your Dropbox directory and all the files and subdirectories inside it. If you need to a more fine-grained sync of multiple directories and exclusion of certain subdirectories from sync, you will need to get the Pro app, which is a paid version.
Tried with: Android 4.4.2 and Moto G
rsync is an excellent program to perform one-way sync between directories.
If both the source and destination directories are on local storage:
$ rsync -av /home/joe/from-dir /media/backup/to-dir
To make the destination a strict mirror copy, thus deleting any extra files it may have:
$ rsync -av --delete /home/joe/from-dir /media/backup/to-dir
If one or both of the source and destination is not on local storage, then rsync can be asked to use compression to save transfer time:
$ rsync -avz /home/joe/from-dir /mars/great-valley/to-dir
Tried with: rsync 3.0.9 and Ubuntu 12.04.1 LTS