]> git.somenet.org - somenet/vmdiff.git/blob - vmsnap.sh
Updated copyright and hopefully fixed filename escaping
[somenet/vmdiff.git] / vmsnap.sh
1 #!/bin/bash
2 #
3 # Copyright 2015-2016 by Jan Vales <jan@jvales.net> (Someone <someone@somenet.org>)
4 #
5 #    This program is free software: you can redistribute it and/or modify
6 #    it under the terms of the GNU General Public License as published by
7 #    the Free Software Foundation, version 3 of the License.
8 #
9 #    This program is distributed in the hope that it will be useful,
10 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 #    GNU General Public License for more details.
13 #
14 #    You should have received a copy of the GNU General Public License
15 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 #
17 # Script to create snapshot from a mounted filesystem.
18 #
19
20 if [ ! -d "untracked" ]; then
21   echo "cannot cd untracked. wtf? fail!"
22   exit 1
23 fi
24
25 cd untracked
26
27 if [ ! -d ".git" ]; then
28   echo "git repo not found. creating..."
29   git init
30   git commit --allow-empty -m "Initial commit"
31   git tag InitialCommit
32 fi
33
34 echo "storing file owner + permissions..."
35 find root -not -type l -print0 | sort -z | xargs -0 -n1 stat -c "chmod %a \"%n\"; chown %u:%g \"%n\"" > setPerms.sh
36
37 echo "storing filesystem into git..."
38 git add setPerms.sh root
39 git commit -a -m "vm snapshot: $1"
40
41 echo "DONE"
42