| 
									
										
										
										
											2014-11-04 09:47:50 +01:00
										 |  |  | #!/bin/bash | 
					
						
							| 
									
										
										
										
											2015-10-27 16:03:21 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | #================================================= | 
					
						
							|  |  |  | # IMPORT GENERIC HELPERS | 
					
						
							|  |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2014-11-04 09:47:50 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-02 16:00:17 +02:00
										 |  |  | # Keep this path for calling _common.sh inside the execution's context of backup and restore scripts | 
					
						
							| 
									
										
										
										
											2018-07-17 00:02:52 +02:00
										 |  |  | source ../settings/scripts/_common.sh | 
					
						
							| 
									
										
										
										
											2016-06-14 14:11:00 +02:00
										 |  |  | source /usr/share/yunohost/helpers | 
					
						
							| 
									
										
										
										
											2016-05-18 22:31:45 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2021-03-17 16:32:11 +01:00
										 |  |  | # RESTORE THE APP MAIN DIR | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_script_progression "Restoring the app main directory..." | 
					
						
							| 
									
										
										
										
											2021-03-17 16:32:11 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "$install_dir" | 
					
						
							| 
									
										
										
										
											2015-10-04 22:57:54 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-10 23:52:57 +01:00
										 |  |  | ### $install_dir will automatically be initialized with some decent | 
					
						
							| 
									
										
										
										
											2024-09-03 13:55:06 +02:00
										 |  |  | ### permissions by default... however, you may need to recursively reapply | 
					
						
							| 
									
										
										
										
											2024-01-10 23:52:57 +01:00
										 |  |  | ### ownership to all files such as after the ynh_setup_source step | 
					
						
							| 
									
										
										
										
											2023-12-30 03:02:42 +01:00
										 |  |  | chown -R "$app:www-data" "$install_dir" | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-29 20:58:35 +02:00
										 |  |  | #================================================= | 
					
						
							|  |  |  | # RESTORE THE DATA DIRECTORY | 
					
						
							|  |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_script_progression "Restoring the data directory..." | 
					
						
							| 
									
										
										
										
											2021-04-29 20:58:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "$data_dir" | 
					
						
							| 
									
										
										
										
											2021-04-29 20:58:35 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-10 23:52:57 +01:00
										 |  |  | ### (Same as for install dir) | 
					
						
							| 
									
										
										
										
											2023-12-30 03:02:42 +01:00
										 |  |  | chown -R "$app:www-data" "$data_dir" | 
					
						
							| 
									
										
										
										
											2022-05-31 01:56:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-07 17:17:26 +01:00
										 |  |  | #================================================= | 
					
						
							|  |  |  | # RESTORE THE MYSQL DATABASE | 
					
						
							|  |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_script_progression "Restoring the MySQL database..." | 
					
						
							| 
									
										
										
										
											2019-02-07 17:17:26 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_mysql_db_shell < ./db.sql | 
					
						
							| 
									
										
										
										
											2019-02-07 17:17:26 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-23 20:00:41 +02:00
										 |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2023-01-30 19:10:14 +01:00
										 |  |  | # RESTORE SYSTEM CONFIGURATIONS | 
					
						
							| 
									
										
										
										
											2021-04-23 20:00:41 +02:00
										 |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_script_progression "Restoring system configurations related to $app..." | 
					
						
							| 
									
										
										
										
											2021-04-23 20:00:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-10 23:52:57 +01:00
										 |  |  | ### This should be a symetric version of what happens in the install script | 
					
						
							| 
									
										
										
										
											2021-04-23 20:00:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "/etc/php/$php_version/fpm/pool.d/$app.conf" | 
					
						
							| 
									
										
										
										
											2021-04-23 20:00:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf" | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "/etc/systemd/system/$app.service" | 
					
						
							| 
									
										
										
										
											2023-12-30 03:02:42 +01:00
										 |  |  | systemctl enable "$app.service" --quiet | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-30 03:02:42 +01:00
										 |  |  | yunohost service add "$app" --description="A short description of the app" --log="/var/log/$app/$app.log" | 
					
						
							| 
									
										
										
										
											2021-08-16 19:29:32 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "/etc/logrotate.d/$app" | 
					
						
							| 
									
										
										
										
											2021-08-16 19:29:32 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "/etc/fail2ban/jail.d/$app.conf" | 
					
						
							|  |  |  | ynh_restore "/etc/fail2ban/filter.d/$app.conf" | 
					
						
							|  |  |  | ynh_systemctl --action=restart --service=fail2ban | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-05 23:03:21 +01:00
										 |  |  | #================================================= | 
					
						
							|  |  |  | # RESTORE VARIOUS FILES | 
					
						
							|  |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2019-05-02 20:44:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "/etc/cron.d/$app" | 
					
						
							|  |  |  | ynh_restore "/etc/$app/" | 
					
						
							| 
									
										
										
										
											2019-05-02 20:44:22 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-10 23:52:57 +01:00
										 |  |  | ### For apps with huge logs, you might want to not backup logs every time: | 
					
						
							|  |  |  | ### The mkdir call is just here in case the log directory was not backed up. | 
					
						
							|  |  |  | ### mkdir -p "/var/log/$app" | 
					
						
							|  |  |  | ### chown $app:www-data "/var/log/$app" | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ### ynh_restore "/var/log/$app/" || true | 
					
						
							| 
									
										
										
										
											2024-01-10 23:52:57 +01:00
										 |  |  | ### | 
					
						
							|  |  |  | ### For other apps, the simple way is better: | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_restore "/var/log/$app/" | 
					
						
							| 
									
										
										
										
											2023-11-05 23:09:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2023-01-30 19:10:14 +01:00
										 |  |  | # RELOAD NGINX AND PHP-FPM OR THE APP SERVICE | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | #================================================= | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_script_progression "Reloading NGINX web server and $app's service..." | 
					
						
							| 
									
										
										
										
											2017-06-02 18:37:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-03 13:55:06 +02:00
										 |  |  | ### Typically you only have either $app or PHP-FPM but not both at the same time... | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_systemctl --service="$app" --action="start" | 
					
						
							| 
									
										
										
										
											2023-01-30 19:10:14 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_systemctl --service="php$php_version-fpm" --action=reload | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ynh_systemctl --service=nginx --action=reload | 
					
						
							| 
									
										
										
										
											2019-02-10 15:02:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #================================================= | 
					
						
							|  |  |  | # END OF SCRIPT | 
					
						
							|  |  |  | #================================================= | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-20 23:49:43 +02:00
										 |  |  | ynh_script_progression "Restoration completed for $app" |