3 # Copyright 2015-2016 by Jan Vales <jan@jvales.net> (Someone <someone@somenet.org>)
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.
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.
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/>.
17 # Script to create snapshot from a mounted filesystem.
20 if [ ! -d "untracked" ]; then
21 echo "cannot cd untracked. wtf? fail!"
27 if [ ! -d ".git" ]; then
28 echo "git repo not found. creating..."
30 git commit --allow-empty -m "Initial commit"
34 echo "storing file owner + permissions..."
35 find root -not -type l -print0 | sort -z | xargs -0 -n1 stat --printf="chown %u:%g\t\"%n\"; chmod %a \"%n\"\n" > setPerms.sh
37 echo "storing filesystem into git..."
38 git add setPerms.sh root
39 git commit -a -m "vm snapshot: $1"