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 | ... | ... |