Commit 4672f1f650ad5dcc35e1668ba94a29d35fa2d9de
1 parent
3ce46819
update
Showing
1 changed file
with
36 additions
and
5 deletions
spod-manager.sh
... | ... | @@ -72,7 +72,7 @@ fi |
72 | 72 | ############################################################################# |
73 | 73 | SCRIPT_NAME="spod-manager.sh" |
74 | 74 | #Arguments |
75 | -OPTIONS=$(getopt -o ha:b:m:n:o:p:q:r:s:w:d: -l help,action:,backup-dir:,mysql-username:,mysql-password:,mysql-address:,spod-git-username:,spod-git-email:,spod-git-password:,spod-git-address:,spod-hostname:,spod-database-version: -- "$@") | |
75 | +OPTIONS=$(getopt -o ha:b:m:n:o:p:q:r:s:w:d:e: -l help,action:,backup-dir:,mysql-username:,mysql-password:,mysql-address:,spod-git-username:,spod-git-email:,spod-git-password:,spod-git-address:,spod-hostname:,spod-database-version:spod-www-backup: -- "$@") | |
76 | 76 | |
77 | 77 | if [ $? -ne 0 ]; then |
78 | 78 | echo "error in parameters." |
... | ... | @@ -91,7 +91,7 @@ while true; do |
91 | 91 | echo " " |
92 | 92 | echo "list of arguments:" |
93 | 93 | echo "-h, --help show commands help" |
94 | - echo "-a, --action=ACTION specify an action install, uninstall, update, backup, restore." | |
94 | + echo "-a, --action=ACTION specify an action install, uninstall, update, backup, restoredb, restoreall." | |
95 | 95 | echo "-m, --mysql-username=username specify the username of mysql (*)." |
96 | 96 | echo "-n, --mysql-password=password specify the password of mysql server (*)." |
97 | 97 | echo "-o, --mysql-address=address specify the address of mysql server (deafult is localhost)." |
... | ... | @@ -101,6 +101,7 @@ while true; do |
101 | 101 | echo "-s, --spod-git-address=address:port specify the SPOD git server (deafult is service.routetopa.eu:7480)." |
102 | 102 | echo "-w, --spod-hostname=hostname specify the SPOD host name (example http://spod.routetopa.eu/)." |
103 | 103 | echo "-d, --spod-database-version=db specify the SPOD db git path located in db_dump of SPOD git core (example in backup action: oxwall_v.0.1_antares.sql, deafults is really simple SPOD and Oxwall installationi; in restore action use a local db dump)." |
104 | + echo "-e, --spod-www-backup=www-folder specify the SPOD www folder path." | |
104 | 105 | echo "-b, --backup-dir=DIR specify the directory where store the spod backup (default is current directory)." |
105 | 106 | echo "* the arguments is required." |
106 | 107 | exit 0; |
... | ... | @@ -138,6 +139,9 @@ while true; do |
138 | 139 | -d|--spod-database-version) |
139 | 140 | DB="$2"; shift |
140 | 141 | ;; |
142 | + -e|--spod-www-backup) | |
143 | + SPODWWW="$2"; shift | |
144 | + ;; | |
141 | 145 | --) shift; break |
142 | 146 | ;; |
143 | 147 | *) |
... | ... | @@ -234,17 +238,44 @@ echo "SPOD MANAGER Action: $ACTION ..." |
234 | 238 | cp -r /var/www $BACKUPDIR/$DATEDIR/var |
235 | 239 | service apache2 start |
236 | 240 | ;; |
237 | - "restore") | |
238 | - if [ -z "$MYSQLUSERNAME" ] || [ -z "$MYSQLPASSWORD" ] ; | |
241 | + "restoredb") | |
242 | + if [ -z "$MYSQLUSERNAME" ] || [ -z "$MYSQLPASSWORD" ] || [ -z "$DB" ]; | |
239 | 243 | then |
240 | - echo "You must specify the mysql password and username to unistall SPOD." | |
244 | + echo "You must specify the mysql password and username, db dump path to restore SPOD." | |
241 | 245 | exit -2 |
242 | 246 | fi |
243 | 247 | service apache2 stop |
248 | + mysql -u $MYSQLUSERNAME -p$MYSQLPASSWORD --host=$MYSQLHOST -e "drop database oxwall;" | |
244 | 249 | mysql -u $MYSQLUSERNAME -p$MYSQLPASSWORD --host=$MYSQLHOST -e "create database if not exists oxwall;" |
245 | 250 | mysql -u $MYSQLUSERNAME -p$MYSQLPASSWORD --host=$MYSQLHOST --database=oxwall < $DB |
246 | 251 | service apache2 start |
247 | 252 | ;; |
253 | + "restoreall") | |
254 | + if [ -z "$MYSQLUSERNAME" ] || [ -z "$MYSQLPASSWORD" ] || [ -z "$SPODWWW" ]; | |
255 | + then | |
256 | + echo "You must specify the mysql password and username, SPOD backup dir and DB dump path to restore SPOD." | |
257 | + exit -2 | |
258 | + fi | |
259 | + service apache2 stop | |
260 | + mysql -u $MYSQLUSERNAME -p$MYSQLPASSWORD --host=$MYSQLHOST -e "drop database oxwall;" | |
261 | + mysql -u $MYSQLUSERNAME -p$MYSQLPASSWORD --host=$MYSQLHOST -e "create database if not exists oxwall;" | |
262 | + mysql -u $MYSQLUSERNAME -p$MYSQLPASSWORD --host=$MYSQLHOST --database=oxwall < $DB | |
263 | + rm -rf /var/www/* | |
264 | + rm -rf /var/www/.[^.]* | |
265 | + cp -r $SPODWWW /var/www | |
266 | + | |
267 | + cd /var/www | |
268 | + git init | |
269 | + git remote add origin http://$GITUSER:$GITPASSWORD@$GITSPOD/isislab/spod-core.git | |
270 | + cd /var/www/ow_plugins | |
271 | + git init | |
272 | + git remote add origin http://$GITUSER:$GITPASSWORD@$GITSPOD/isislab/spod-plugins.git | |
273 | + cd /var/www/ow_themes | |
274 | + git init | |
275 | + git remote add origin http://$GITUSER:$GITPASSWORD@$GITSPOD/isislab/spod-themes.git | |
276 | + service apache2 start | |
277 | + | |
278 | + ;; | |
248 | 279 | "update") |
249 | 280 | if [ -z "$GITUSER" ] || [ -z "$GITEMAIL" ] || [ -z "$GITPASSWORD" ] || [ -z "$HOSTNAMESPOD" ]; |
250 | 281 | then | ... | ... |