-
Notifications
You must be signed in to change notification settings - Fork 3
/
bt-collect-logs.sh
executable file
·70 lines (60 loc) · 1.99 KB
/
bt-collect-logs.sh
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
67
68
69
70
#!/bin/bash
# This program is free software: you can redistribute it and/or modify it
# under the terms of the the GNU General Public License version 3, as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranties of
# MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the applicable version of the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright (C) 2016 Canonical, Ltd.
usage () {
echo "Usage: $0 PASSWORD [DESTINATION]"
}
loudly () {
echo adb shell "$@"
adb shell "$@"
}
check_devices() {
# Quick way to make sure that we fail gracefully if more than one device
# is connected and no serial is passed
set +e
adb wait-for-device
err=$?
set -e
if [ $err != 0 ]; then
echo "E: more than one device or emulator"
adb devices
exit 1
fi
}
[ -x /usr/bin/sudo ] || { echo "Please install 'sudo'"; exit 1; }
[ -x /usr/bin/add-apt-repository ] || { echo "Please install 'software-properties-common'"; exit 1; }
PASSWORD="$1"
if [ -z $PASSWORD ]; then
usage
exit 1
fi
DESTINATION="$2"
if [ -z $DESTINATION ]; then
DESTINATION=.
fi
check_devices
DIRNAME=/tmp/logs
ARCHIVENAME=/tmp/logs-$(date +"%m-%d-%Y").tar.gz
loudly "echo -e '#\x21/bin/sh\necho $PASSWORD' >/tmp/askpass.sh"
loudly chmod +x /tmp/askpass.sh
loudly mkdir $DIRNAME
loudly SUDO_ASKPASS=/tmp/askpass.sh sudo -A cp /var/log/syslog $DIRNAME
loudly cp /home/phablet/.cache/upstart/application-legacy-ubuntu-system-settings.log $DIRNAME
loudly cp /home/phablet/.cache/upstart/dbus.log $DIRNAME
loudly SUDO_ASKPASS=/tmp/askpass.sh sudo -A chmod 666 /tmp/logs/syslog
loudly tar -zcvf $ARCHIVENAME $DIRNAME
loudly rm -rf $DIRNAME
adb pull $ARCHIVENAME $DESTINATION
echo kthxbye