Commit c19a1ede authored by HongzheWang's avatar HongzheWang

software/matomo:Fix some problem in backup.sh

parent b701088e
...@@ -19,8 +19,8 @@ md5sum = 9940e05d5e624a7884f4e6e062355798 ...@@ -19,8 +19,8 @@ md5sum = 9940e05d5e624a7884f4e6e062355798
[template-matomo-instance] [template-matomo-instance]
filename = matomo-instance.cfg.in filename = matomo-instance.cfg.in
md5sum = 5d93bb438971167e7f9f39047cb83821 md5sum = de40893a14ca624492d47759e75db64a
[template-matomo-backup.sh] [template-matomo-backup.sh]
filename = matomo-backup.sh.in filename = matomo-backup.sh.in
md5sum = 27f4925e3a5b235bdcd3e96117cbfcce md5sum = bb0a10cb03dde2a3b43980a6b341f574
#!/bin/bash #!/bin/sh
set -e set -e
set -x set -x
...@@ -13,32 +13,37 @@ if [ ! -f {{ parameter_dict['document-root'] }}/matomo/config/config.ini.php ]; ...@@ -13,32 +13,37 @@ if [ ! -f {{ parameter_dict['document-root'] }}/matomo/config/config.ini.php ];
exit 0; exit 0;
fi fi
trap 'rm -rf "$TMPFILE"' EXIT TERM INT
#we reserve backup folder in a month #we reserve backup folder in a month
find {{ parameter_dict['dir-backup'] }} -mtime +30 |xargs rm -rf {{ parameter_dict['find_bin'] }}/bin/find {{ parameter_dict['dir-backup'] }} -mtime +30 -type d |{{ parameter_dict['find_bin'] }}/bin/xargs rm -rf
#backup #backup
mkdir {{ parameter_dict['dir-backup'] }}/temp
{{ php_bin }} {{ parameter_dict['document-root'] }}/matomo/console plugin:list > {{ parameter_dict['dir-backup'] }}/temp/plugins_list TMPFILE=$(mktemp -d -p "{{ parameter_dict['dir-backup'] }}")
cp -rf {{ parameter_dict['document-root'] }}/matomo/config {{ parameter_dict['dir-backup'] }}/temp/config
cp -rf {{ parameter_dict['document-root'] }}/matomo/plugins {{ parameter_dict['dir-backup'] }}/temp/plugins {{ php_bin }} {{ parameter_dict['document-root'] }}/matomo/console plugin:list > $TMPFILE/plugins_list
cp -rf {{ parameter_dict['document-root'] }}/matomo/config $TMPFILE/config
cp -rf {{ parameter_dict['document-root'] }}/matomo/plugins $TMPFILE/plugins
#check if copy-action finish well #check if copy-action finish well
if test ! -z "$(diff -r {{ parameter_dict['dir-backup'] }}/temp/config {{ parameter_dict['document-root'] }}/matomo/config)"; then
rm -rf {{ parameter_dict['dir-backup'] }}/temp if test ! -z "$(diff -r $TMPFILE/config {{ parameter_dict['document-root'] }}/matomo/config)"; then
exit 1
fi fi
if test ! -z "$(diff -r {{ parameter_dict['dir-backup'] }}/temp/plugins {{ parameter_dict['document-root'] }}/matomo/plugins)"; then if test ! -z "$(diff -r $TMPFILE/plugins {{ parameter_dict['document-root'] }}/matomo/plugins)"; then
rm -rf {{ parameter_dict['dir-backup'] }}/temp exit 1
fi fi
#check if the file plugins_list has been created #check if the file plugins_list has been created
if [ ! -f {{ parameter_dict['dir-backup'] }}/temp/plugins_list ]; then if [ ! -f $TMPFILE/plugins_list ]; then
rm -rf {{ parameter_dict['dir-backup'] }}/temp exit 1
fi fi
#if all things go well, change the name of folder with date now #if all things go well, change the name of folder with date now
if [ -d {{ parameter_dict['dir-backup'] }}/temp ]; then if [ -d $TMPFILE ]; then
mv -f {{ parameter_dict['dir-backup'] }}/temp {{ parameter_dict['dir-backup'] }}/`date +%m-%d-%Y-%T` mv -f $TMPFILE {{ parameter_dict['dir-backup'] }}/`date +%m-%d-%Y-%T`
fi fi
exit 0 exit 0
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
[instance-parameter] [instance-parameter]
matomo = ${:document-root} matomo = ${:document-root}
dir-backup = ${directory:backup} dir-backup = ${directory:backup}
find_bin = {{ findutils_location }}
#php.ini parameters #php.ini parameters
php.memory_limit = 512M php.memory_limit = 512M
...@@ -17,7 +18,7 @@ php.max_file_uploads = 100 ...@@ -17,7 +18,7 @@ php.max_file_uploads = 100
[php-bin] [php-bin]
recipe = slapos.cookbook:wrapper recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:bin}/php wrapper-path = ${directory:bin}/php
command-line = ${instance-parameter:php-bin} -c ${php.ini-conf:rendered} command-line = ${instance-parameter:php-bin} -c ${php.ini-conf:rendered}
[matomo-backup-cron] [matomo-backup-cron]
recipe = slapos.cookbook:cron.d recipe = slapos.cookbook:cron.d
......
...@@ -5,7 +5,7 @@ extends = ...@@ -5,7 +5,7 @@ extends =
../../stack/lamp/buildout.cfg ../../stack/lamp/buildout.cfg
# "slapos" stack describes basic things needed for 99.9% of SlapOS Software # "slapos" stack describes basic things needed for 99.9% of SlapOS Software
../../stack/slapos.cfg ../../stack/slapos.cfg
parts = parts =
# Call installation of slapos.cookbook egg defined in stack/slapos.cfg (needed # Call installation of slapos.cookbook egg defined in stack/slapos.cfg (needed
# in 99,9% of Slapos Software Releases) # in 99,9% of Slapos Software Releases)
...@@ -43,6 +43,7 @@ template = ${:_profile_base_location_}/${:filename} ...@@ -43,6 +43,7 @@ template = ${:_profile_base_location_}/${:filename}
rendered = ${buildout:directory}/instance-matomo.cfg rendered = ${buildout:directory}/instance-matomo.cfg
extensions = jinja2.ext.do extensions = jinja2.ext.do
context = context =
key findutils_location findutils:location
key gzip_location gzip:location key gzip_location gzip:location
key python3_location python3:location key python3_location python3:location
key php_location apache-php:location key php_location apache-php:location
...@@ -54,7 +55,7 @@ context = ...@@ -54,7 +55,7 @@ context =
<= matomo-download <= matomo-download
# download matomo-backup.sh.in # download matomo-backup.sh.in
[template-matomo-backup.sh] [template-matomo-backup.sh]
<= matomo-download <= matomo-download
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment