blob: 5b0aec6f04b8e250ad8d3759d87678f978268312 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
Example bash script:
```
#!/bin/bash
#Description: Copy a Shaarli installation over SSH/SCP, serve it locally with php-cli
#Will create a local-shaarli/ directory when you run it, backup your Shaarli there, and serve it locally.
#Will NOT download linked pages. It's just a directly usable backup/copy/mirror of your Shaarli
#Requires: ssh, scp and a working SSH access to the server where your Shaarli is installed
#Usage: ./local-shaarli.sh
#Author: nodiscc (nodiscc@gmail.com)
#License: MIT (http://opensource.org/licenses/MIT)
set -o errexit
set -o nounset
##### CONFIG #################
#The port used by php's local server
php_local_port=7431
#Name of the SSH server and path where Shaarli is installed
#TODO: pass these as command-line arguments
remotehost="my.ssh.server"
remote_shaarli_dir="/var/www/shaarli"
###### FUNCTIONS #############
_main() {
_CBSyncShaarli
_CBServeShaarli
}
_CBSyncShaarli() {
remote_temp_dir=$(ssh $remotehost mktemp -d)
remote_ssh_user=$(ssh $remotehost whoami)
ssh -t "$remotehost" sudo cp -r "$remote_shaarli_dir" "$remote_temp_dir"
ssh -t "$remotehost" sudo chown -R "$remote_ssh_user":"$remote_ssh_user" "$remote_temp_dir"
scp -rq "$remotehost":"$remote_temp_dir" local-shaarli
ssh "$remotehost" rm -r "$remote_temp_dir"
}
_CBServeShaarli() {
#TODO: allow serving a previously downloaded Shaarli
#TODO: ask before overwriting local copy, if it exists
cd local-shaarli/
php -S localhost:${php_local_port}
echo "Please go to http://localhost:${php_local_port}"
}
##### MAIN #################
_main
```
This outputs:
```
$ ./local-shaarli.sh
PHP 5.6.0RC4 Development Server started at Mon Sep 1 21:56:19 2014
Listening on http://localhost:7431
Document root is /home/user/local-shaarli/shaarli
Press Ctrl-C to quit.
[Mon Sep 1 21:56:27 2014] ::1:57868 [200]: /
[Mon Sep 1 21:56:27 2014] ::1:57869 [200]: /index.html
[Mon Sep 1 21:56:37 2014] ::1:57881 [200]: /...
```
|