Tag Archives: Text file

Synkron: a flexible & powerful way to synchronize your files or folders on Linux – An “encrypted” example for security and privacy reasons

Sometimes it is really easy, other times you waste your time. A good synchronization between files or folders is something you need everyday but it could become a nightmare if you miss something.

In my specific case I need to automate a synchronization between a folder (F1) where I usually save my office files (Documents) with a second folder contained, for security reasons, in an encrypted volume/partition (F2). This last folder (F2) automatically synchronize its content with a third folder (F3), located in the same encrypted volume/partition, that is the client folder of a remote storage hosting (F4).

This also means that when I am out of the office and I add a file in the online storage host (F4) the document is automatically copied to the client folder of the remote storage hosting and to the folder located in an encrypted volume/partition (F2 and F3).

Moreover, I need to erase the Documents folder F1 as soon as it is synchronized with its mirror F2 in the encrypted volume.

The described scenario is common in the everyday working life and it is conceptually not hard to solve… in theory… When I tried to set up the above described operations using grsync on Fedora and Ubuntu I had big problems to obtain an acceptable result.

Many times the synchronization was unidirectional and I was not able to run it properly just using grsync still I found one right solution with Synkron. Synkron  is a multi platform software (Linux, OSX, Windows and portable) written in C++ that is really flexible for all multitasking synchronization needs.

First of all, Synkron is multi-tab and this is a winning features because it let you to “slice” any problem (synchronization matter) into simple, easy to solve, tasks.

In my example I determined the two Folders I wanted to sync – F1 & F2) and  decided thath both folders had to be considered as Master by the software.

Then I used the Advanced Menu and I chose to “Move contents to Folder 2, leaving folder 1 empty” and to “Store database in a text file” for my convenience (F1 to F2 deleting F1 contents after synchronization).

At this point, I opened a second synchronization tab where I selected two folders (F2 to F3 sync) and I also asked Synkron to “Synchronize hidden files and folders” and to “Detect collisions”.

At this point I had obtained an acceptable solution to my initial task, simply dividing my problem into two separate operations.

Moreover, I’ld like to focus your attention on the fact that Synkron has a specific feature for multi-synchronizing three or more folders at the same tome. The tuning of this particular feature is really intuitive and you can also selected many of the different advanced options we described here above.

If you have complex synchronization needs and you have many tabs configured you can always choose what tabs you want to activate or deactivate using the “Sync folders” option you find in the upper part of each tabs. Another option for this specific issue is represented by the SyncView visualization that let ypu to have a quick general glimpse about the state of all the sync and multisync tabs.

Synkron has simply fantastic scheduling options that are able to solve any need you may have.

Furthermore you can decide to automatically synchronize your folder as soon as you launch Synkron.

You can also decide to automatically run Synkron at the startup but, in this case, you need to manually configure your Startup Menu.

As extra features you can always decide to create Blacklists that will exclude specific files, folders or extensions from the synchronization.

In addition you can define Filters by extensions to better refine your synchronization.

Last but not least, when you run Synkron you obtain a detailed report in real-time where you can check the state of operations by colors.

“Username is not in the sudoers file. This incident will be reported…” How to add a specific user to sudoers on Linux

Sooner or later, if you use Linux and you prefer Terminal to GUI you will stumble on this message:

Username is not in the sudoers file. This incident will be reported

The first thing to clarify is that the “incident” will never be reported outside your computer but in the auth.log file. But if you have previously configured your Linux OS to send these kind of logs to you by email, you receive an alert about.. your own activity with sudo…

In any case, to solve the above mentioned specific sudo matter, use Terminal and type:

sudo gedit /etc/sudoers

At this point the text file “sudoers” will be opened and you will be able to modify it using e.g. gedit.

Obviously you can use another text editor you prefer as, for example, nano. In this case the command will be:

sudo nano /etc/sudoers

Now you have to peer into the text and find the “#User privilege Specification” section and add the command:

your-username ALL=(ALL:ALL) ALL

where ALL=(ALL:ALL) ALL stands for: allow the specific user (your-username) to access all the terminals, as if he/she were any other user, and allow him/her to execute the full range of commands.

And you will obtain something similar to this:

# User privilege specification
root ALL=(ALL:ALL) ALL
your-username ALL=(ALL:ALL) ALL

Try it! (..if you need…)

——————-

References:

https://help.ubuntu.com/community/RootSudo

Advanced use of – Find -: a handy command line tool for Linux

This post is basically directed towards new users of Linux which are not much familiar with command prompt. This is a small but comprehensive article about ‘GNU find’ .
Find Your Lost Files!
Let’s start from a simple example:
Suppose you want to search for a file named ‘master.txt’ in your home directory.
Open the Terminal and issue the following command:
find . -name “master.txt”
‘find’ will immediately show the results.  If ‘find’ does not show any result, this means that the file, in our case, ‘master.txt’, does not exist.  It is not always the case that you want to find something in you home directory.  The lost/desired file may be anywhere in your computer.  Suppose you want to find a file named ‘space-01.jpg’ and you only know that is located somewhere in /usr directory. You can find it by issuing following command in Terminal:
find /usr -name “space-01.jpg”
and ‘find’ will tell you that this is located under /usr/share/backgrounds.
Using Wildcards
Maybe you want to search for a file but you don’t know its exact name?  Don’t worry!  You can still locate the file using ‘GNU find’ and wildcard will help you in this regard. Wildcards are a way of searching files when you don’t know much about your desired file.
One of the commonly used wildcard is asterisk (*).  Lets consider an example to better understand the things.
Suppose you want to search a file named ‘Jumping_Flowers’ but you only remember the ‘Jumping‘ part of the file name.  So issue the following command in Terminal:
find . -name “Jumping*”
And it will display all the files starting with the word ‘Jumping’.  You can use asterisk (*) anywhere with a file name.  For example:
find . -name “*Jumping*”
And it will display all the files which contain the word ‘Jumping’.
Here are some more examples of use of a wildcard:
find . -name “Jumping*Flowers*”
find . -name “*Jumping*Flowers.mp3”
Searching For Different File Types
Sometimes you are not looking for some specific file but you are looking for a group of files.  For example, you may be looking for all the .txt files in your home directory.  To find all the .txt files, you will give the following command in Terminal:
find . -name *.txt
In case of mp3 files, the above command will be:
find . -name *.mp3
When You Want to Search with Respect to Time
If you want to search for files by the last time they were accessed, you can use -amin flag with ‘find’.  In this case you have to put a minus (-) sign before the time.  The time here is in minutes.  In order to search for .doc files which were accessed in last 10 minutes, you will give the following command:
find . -amin -10 -name “*.doc”
Similarly, to search for .doc files which were modified in last 20 minutes, you will use -mmin option as follows:
find . -mmin -20 -name “*.doc”
Search For Files which are Eating Your Hard Disk
There may be files on your system which are not only huge in size but also located obscure places.  You may also may not know when they were last accessed.  You have to use -size option with ‘find’ to locate them.
Let’s see how we can do this:
find . -size +100M
It will list all those files which are greater than 100 Megabytes.  You can replace ‘M’ with ‘G’ (for Gigabyte) or with ‘k’ (for Kilobyte)
Copy, Move, or Delete Unwanted Files on the Fly
Copy – ‘find’ can also be used to copy or backup your files.  You can use ‘find’ to copy certain files from one location to other with one simple command.
Suppose you want copy all of your mp3 songs from your home directory to your Windows Partition.  Enter the following command in Terminal:
find . -name “*.mp3” -exec cp {} /path/to/Windows_Drive \;
And all of your mp3 files will be copied to the desired Drive/Folder.
Move – There may be situations that you quickly want to move all of your document files from your Hard Disk to your USB to keep them safe.  To move all of your documents from your home directory to your USB, you will issue the following command:
find . -name “*.doc” -exec cp {} /path/to/USB \;
Delete – Suppose there are a lot of .tmp files and you want to get rid of them at once.  Again ‘GNU find’ is at your service and does the work for you.  Issue the following in Terminal and all of the .tmp files are gone…
find . -name ‘*.tmp’ -exec rm {} \;
Which Files are Owned by You and Which Are Not?
There may be a situation when you want to know that which files in some other directories (or even in your home directory) are owned by some other user of your computer.
Suppose there is another user named ‘blackstar’ with whom you are sharing your PC.  Now you want to know that which .doc files in Windows Directory is owned by this user ‘blackstar’.  You can do this by issuing the following command:
find /path/to/Windows_Drive -user blackstar -name “*.doc”
Just replace ‘blackstar’ with your username to search on your system.
Direct the Output of ‘find’ to a File
You can save the results of your ‘find’ command to a text file which will allow you to examine the results in detail at some later time (or to create playlist of your songs).  For this purpose a greater than (>) sign is used (referred to as “piping the command”).
Suppose you want to save the list of all the mp3 songs in your home directory to a text file (which you can later share with your friend), you can do this by:
find . -name “*.mp3” > mp3.txt
It will save the complete path to all of your mp3 songs in the file named mp3.txt. AddThis mp3 link