Monday, June 2, 2014

How to sync Windows folder to Ubuntu permanent

apt-get install cifs-utils

Mounting unprotected (guest) network folders

sudo mkdir /media/windowsshare

Then edit your /etc/fstab file (with root privileges) to add this line:
//servername/sharename /media/windowsshare cifs guest,uid=1000,iocharset=utf8 0 0

guest indicates you don't need a password to access the share,
uid=1000 makes the Linux user specified by the id the owner of the mounted share, allowing them to rename files,
iocharset=utf8 allows access to files with names in non-English languages. This doesn't work with shares of devices like the Buffalo Tera Station, or Windows machines that export their shares using ISO8895-15.

If there is any space in the server path, you need to replace it by \040, for example
//servername/My\040Documents

After you add the entry to /etc/fstab type:
sudo mount -a

Mount password protected network folders

The quickest way to auto-mounting a password-protected share is to edit /etc/fstab (with root privileges), to add this line:
//servername/sharename /media/windowsshare cifs username=msusername,password=mspassword,iocharset=utf8,sec=ntlm 0 0

This is not a good idea however: /etc/fstab is readable by everyone and so is your Windows password in it. The way around this is to use a credentials file. This is a file that contains just the username and password.

Using a text editor, create a file for your remote servers logon credential:
vi ~/.smbcredentials

Enter your Windows username and password in the file:
username=msusername
password=mspassword
Change the permissions of the file to prevent unwanted access to your credentials:
chmod 600 ~/.smbcredentials

Then edit your /etc/fstab file (with root privileges) to add this line (replacing the insecure line in the example above, if you added it):
//servername/sharename /media/windowsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

Save the file, exit the editor. Finally, test the fstab entry by issuing:
sudo mount -a

If there are no errors, you should test how it works after a reboot. Your remote share should mount automatically.

Special permissions

If you need special permission (like chmod etc.), you'll need to add a uid (short for 'user id') or gid (for 'group id') parameter to the share's mount options.
//servername/sharename /media/windowsshare cifs uid=ubuntuuser,credentials=/home/ubuntuuser/.smbcredentials,iocharset=utf8,sec=ntlm 0 0

Sync Localdir with Sharedir

rsync -avz /media/windowsshare/ /var/www/app/img/

Sync every 5 minutes
su - www-data
crontab -e
* 5 * * * rsync -avz /media/windowsshare/ /var/www/app/img/ > /dev/null 2>&1


https://wiki.ubuntu.com/MountWindowsSharesPermanently

0 comments:

Post a Comment