summaryrefslogtreecommitdiff
path: root/wordpress
diff options
context:
space:
mode:
authorroot <root@vps-18a7a2b7.vps.ovh.ca>2023-05-24 16:30:17 -0400
committerroot <root@vps-18a7a2b7.vps.ovh.ca>2023-05-24 16:30:17 -0400
commit02727ebd5f92d33c02e663b993b82a3d6b495cf9 (patch)
tree41bce1e05e12ad92cd480c63bc3f169e7c0930f9 /wordpress
parent7d00e574a0643f22a1dc5796d7d78f37dc45c07e (diff)
incomplete code
Diffstat (limited to 'wordpress')
-rwxr-xr-xwordpress/wordpress-rsync-push-site72
1 files changed, 72 insertions, 0 deletions
diff --git a/wordpress/wordpress-rsync-push-site b/wordpress/wordpress-rsync-push-site
new file mode 100755
index 0000000..09dc70c
--- /dev/null
+++ b/wordpress/wordpress-rsync-push-site
@@ -0,0 +1,72 @@
1#!/bin/bash
2set -e
3set -o pipefail
4
5site=${1#/srv/}
6site=${site%/}
7case "$site" in
8 '' | */* | .*) exit 1 ;;
9esac
10[ -d /srv/"$site" ]
11db_host=$(wordpress-config-info "$site" | jq -r .db_host)
12db_name=$(wordpress-config-info "$site" | jq -r .db_name)
13[ "$db_name" ]
14
15
16[ "$REMOTE_HOST" ]
17remote_host=$REMOTE_HOST
18
19NO_ACT=y
20
21html_dir=/./srv/$site/public_html
22conf_file=/./etc/apache2/sites-available/$site.conf
23[ -d "$html_dir" ]
24[ -f "$conf_file" ]
25
26
27
28
29installer()
30{
31 echo mysqlrestore "$1"
32}
33
34installer_source_code()
35{
36 echo '#!/bin/sh'
37 declare -f installer
38 echo "installer \"$1\""
39}
40
41do_rsync()
42{ (
43 set -x
44 rsync ${NO_ACT:+ -nv} -u -aRi --delete --partial "$conf_file" "$html_dir" "$remote_host":/"$target_dir"
45) }
46
47do_mysqldump()
48{ (
49 case "$NO_ACT" in
50 '') of=/srv/$site/wordpress-database~"$(date -Ins)".sql.gz ;;
51 * ) of=/dev/null ;;
52 esac
53 oftest=/srv/$site/wordpress-database~"$(date -Ins)".sql.gz
54 printf '%s\n' "$oftest" >&2
55 installer_source_code "$oftest" >&2
56
57 if [ "$use_rsync" ]
58 then
59 set -x
60 dumpfile=$(mktemp -p "$XDG_RUNTIME_DIR") || dumpfile=$(mktemp)
61 ssh "$db_host" -- mysqldump "$db_name" | gzip -c > "$dumpfile"
62 rsync --ignore-existing "$dumpfile" "$remote_host":"$of"
63 rm "$dumpfile"
64 else
65 set -x
66 mysqldump "$db_name" | gzip -c | ssh "$remote_host" dd conv=notrunc "of=$of"
67 fi
68) }
69
70use_rsync=y
71do_rsync
72do_mysqldump