ShadowCopy

From SME Server
Jump to navigationJump to search

ShadowCopy

ShadowCopy takes a snapshot of ibays and user home folders at scheduled intervals and allows network users to restore previous versions of files via the Windows Explorer file properties page.

This works for Windows XP and above.

To obtain a client for Windows 2000SP3+ download from here.


RPM version requirements

This functionality is included in e-smith-samba since version 1.14.0-20.

To check the installed rpm version

rpm -q e-smith-samba

On a SME Server 7.3 server this gives e-smith-samba-1.14.1-3.el4.sme so the installed rpm is more recent than that required.

Configuration

Enabling and disabling

Initially disable ShadowCopy for specific ibays or users you don't wish to take snapshots for eg

db accounts setprop user1 ShadowCopy disabled
db accounts setprop user2 ShadowCopy disabled
db accounts setprop ibay1 ShadowCopy disabled
db accounts setprop ibay2 ShadowCopy disabled


Important.png Note:
For the script to work correctly, leave two or more users enabled.


To re-enable any disabled ibays or users do:

db accounts delprop user1 ShadowCopy
db accounts delprop ibay2 ShadowCopy

Then enable and expand templates

config setprop smb ShadowCopy enabled
config setprop smb WideLinks on
signal-event ibay-modify
WideLinks

Samba 3.5 changed the default for WideLinks to no, this tightens security to prevent symbolic links seeing outside the directory root. ShadowCopy itself will work without this setting, but will require shell access to restore files..

Adding ibays and users to your server

Add ibays and users to your sme server in the normal way. If ShadowCopy is enabled, then by default the newly added ibays and users will be included in ShadowCopy behaviour, so you must specifically exclude them from ShadowCopy behaviour using the disable commands mentioned above on a per ibay and user basis.


Snapshots

You need to schedule shadow copy to take snapshots. You can do this manually from the command prompt or run a cron job as often as required. Snapshots are only taken if there are changes.

At the command prompt do

/etc/e-smith/events/actions/shadow-copy-rotate
Important.png Note:
You will need enough free disk space [and backup capacity] to take a copy of the entire /home/e-smith/files directory plus any changes that take place.


Setup Cron

A cron job that runs the script every hour from 10am to 5pm on weekdays would contain the following. Adjust to suit your requirements.

Create a file

pico -w /etc/cron.d/shadowcopysnapshot

which contains

# Shadow Copy snapshot Crond Entry
#+-----------------------Minute           (0-59)
#|    +-------------------Hour of Day    (0-23)
#|    |    +---------------Day of Month  (1-31)
#|    |    |    +-----------Month of Year (1-12)
#|    |    |    |    +-------Day of Week   (0=Sun,6=Sat)
#v   v   v   v   v
00    10,11,12,13,14,15,16,17   *    *   1,2,3,4,5   root /etc/e-smith/events/actions/shadow-copy-rotate

To save

Ctrl o 

To exit

Ctrl x

After saving the above script do

/etc/init.d/crond restart

Location of ShadowCopy files

NB. Users recover files with windows explorer.

The ShadowCopy files are located in:

/home/e-smith/files/.shadow/1
/home/e-smith/files/.shadow/2
/home/e-smith/files/.shadow/3
and so on...

The number of subfolders depends on how many snapshots have been taken.

Note that a new snapshot is only taken if files have changed.

Bugs

If you find a problem report it to the bug tracker at bugs.contribs.org


References

bugzilla:1549

bugzilla:6858 Wide Links

Shadow Copy topic in the Contribs forums

For background information regarding alternative Linux implementation, although this contrib is not used here

http://www.wlug.org.nz/SambaShadowCopyHowto