blob: dfcdeea63d60294f04fb1450d15434a95e68a064 [file] [log] [blame]
Chris Sosaf1172ff2010-05-27 14:17:38 -07001#!/bin/sh
2#
3# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6#
7# Copies all logs, screen-shots, crash dumps to Downloads folder.
8
9# Help information about script usage
10if ([ "$1" = -h ] || [ "$1" = -? ]); then
11 echo "Usage of generate_logs script:"
12 echo "To collect logs, dumps and screenshots: sh $0"
13 echo "To collect data and clear up folders: sh $0 --delete"
14 echo "Collected data is zipped to tar.bz2 file with timestamp in Downloads"
15 exit 1
16fi
17
18echo "Collecting logs for $USER user"
19home_dir=/home/$USER/user
20
21# Creating folder to copy logs, screenshots and dumps
22log_dir=$home_dir/Downloads/diagnostic_logs
23mkdir -p $log_dir
24sudo rm -rf $log_dir/*
25echo "Created log folder in Downloads"
26
27# Copying file with current timestamp and date
28date > $log_dir/timestamp.txt
29echo "Copied current timestamp"
30
31# Copying lsb-release file
32sudo cp /etc/lsb-release $log_dir
33echo "Copied lsb-release file with version information"
34
35# Copying logs- windows manager, screen-locker, messages, session_manager
36mkdir $log_dir/system_level_logs
37cp -r /var/log/messages \
38 /var/log/session_manager \
39 /var/log/softwareupdate.log \
40 /var/log/update_engine.log \
41 /var/log/window_manager \
42 $log_dir/system_level_logs
43cp -rf $home_dir/log $log_dir/user_level_logs
44echo "Copied relevant logs"
45
46# Copying screen-shots
47cp -rf $home_dir/Downloads/Screenshots $log_dir/screenshots 2> /dev/null && \
48 echo "Copied screen-shots"
49
50# Copying crash dumps and deleting from original location
51cp -rf $home_dir/.config/google-chrome/Crash\ Reports $log_dir/crashdumps 2> \
52 /dev/null && echo "Copied crash dumps"
53
54# Compressing the log folder with all collected files
55currentdate=$(date +%m%d%y-%H%M%S)
56tar cjfP $home_dir/Downloads/log-$currentdate.tar.bz2 $log_dir/
57sudo rm -rf $log_dir/*
58echo "Files zipped to folder under Downloads : log-$currentdate.tar.bz2"
59
60# Deleting logs, dumps, screenshots from original location with flag -delete
61if [ "$1" = --delete ]; then
62 echo "Deleting all logs "
63 sudo rm -rf /var/log/messages \
64 /var/log/session_manager \
65 /var/log/softwareupdate.log \
66 /var/log/update_engine.log \
67 /var/log/window_manager/*
68 sudo rm -rf $home_dir/log/*
69
70 echo "Deleting crash dumps"
71 sudo rm -rf $home_dir/.config/google-chrome/Crash\ Reports/*
72
73 echo "Deleting screen-shots"
74 sudo rm -rf $home_dir/Downloads/Screenshots/*
75
76 # Reboot after deleting all files
77 echo "Rebooting system after clean up in 1 minute"
78 sudo shutdown -r 1
79else
80 echo "Logs and dumps are copied but not deleted."
81 echo "To clear all logs, run the script with --delete flag"
82fi