blob: ef2ea4a1d33dd71a137a65bc7487b67f29929d71 (
plain)
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
|
#!/bin/bash
if ! mountpoint -q /mnt ; then
echo "I do not seem to see a Mageia install mounted on /mnt. You need to mount it first!" >&2
exit 1
fi
if [ ! -f /mnt/etc/machine-id ]; then
echo "Cannot find machine-id file (/mnt/etc/machine-id)" >&2
exit 1
fi
MID=$(cat /mnt/etc/machine-id)
echo
echo "Found machine-id: $MID"
if [ ! -d /mnt/var/log/journal/$MID ]; then
echo "Cannot find journal log directory (/mnt/var/log/journal/<machine-id>)" >&2
exit 1
fi
TIMEFRAME=24
if [ -n "$1" ]; then
NEWTIMEFRAME=$(( 0 + $1 ))
if [ $NEWTIMEFRAME -gt 0 ]; then
TIMEFRAME=$NEWTIMEFRAME
fi
fi
SINCE="$(LC_ALL=c date --date=$TIMEFRAME' hours ago' +'%F %T')"
echo "Will collect logs from the last $TIMEFRAME hour(s)"
echo " NB give numeric argument to override capture period"
TEMPFILE=$(mktemp /tmp/grabjournallogs.XXXXXX)
echo -n "Extracting logs... "
journalctl -D /mnt/var/log/journal/$MID --since "$SINCE" -o short >$TEMPFILE
echo "done"
if [ $(cat $TEMPFILE | wc -l) -lt 2 ]; then
rm -f $TEMPFILE
echo >&2
echo "Cannot find any logs. Consider increasing the capture period by passing a" >&2
echo "numeric argument larger than $TIMEFRAME." >&2
exit 1
fi
echo -n "Compressing logs... "
cat $TEMPFILE | xz >/journallogs.xz
rm -f $TEMPFILE
echo "done"
echo
echo "Your logs have been extracted to the file 'journallogs.xz'"
|