Simple script to gather IGEL logs and settings to a centralized location so to easily download

Good Morning.

Are you tire of manually pulling logs and settings on IGEL devices that your Developing or Testing on. I run profile settings that active just about every log and or debug settings on our images as we have a lot of custom apps and settings and we want to ensure that can grab all the logs off the devices as needed. As the Logs are located in multiple locations across the drive I put together a simple script that would gather then to a centralized location so that I can pull them quickly. I am currently on my Third Version of my script and thought it was about time I start sharing some of the custom scripts I use to help manage our IGEL environment and at the same time ask for any suggestions that I could make to it to grab information that I may have missed.

Learn more, read the entire thread inside the IGEL Community o Slack

So the current Version

First I am not a programmer and have never been trained as such but I am very good at taking things apart and teaching myself things that allow me to do things that I need to do. This is a simple BASH script where I automate processes and within it I leave all the information explaining what each area is for and how it is used etc. There are several areas that have been REM’s out so that it would still be useable but removed things that would not work in someone else environment like our custom files or the option to copy the Zip file to a network share but left code there so you could use it to do the same in your environment.

I deploy the script by adding it to the UMS Files area and then assigning it to the root of my IGEL devices so that they all have the file available if I need to run it. You can do if Via CP if needed.

The basic break down of the script thus far:

Sets up Variables used to create folders etc. so you only have to make a change once for the script to be updated.

Checks for then creates a /wfs/Debug-log-Export folder

Checks for then creates a Backupfolder /wfs/Debug-log-Export folder/Devicename_Date-Time

Logs the Backup process to a backuplog-Info.txt within the backupfolder

Backups the /tmp/* files that I determined that we needed and not the files that were not.

Backups the /wfs/* files that I determined that we needed and not the files that were not.

Backups the entire /debuglog/* folder.

Borrowed from Ron Neher o

Backups Some Custom Log Files for our internal Files but can be changed to gather yours. Rem’d out in the script provided.

Backups the /dev/.mnt-system/rw/sys/config/thinprint/* files that I determined that we needed and not the files that were not.

Then a set of things I saw on the Community that I borrowed from Ron Neher, Thanks for your shares.

List Hardware Export

List USB Device Export

List All PCI Devices Export

List print or control the kernel ring buffer Export

List Wireless Devices Export

List journalctl Export

List os-release Export

Then I Zip it all Up in a Folder in the /tmp/ Folder so it cleans itself up if I do not delete it.

Then Transfer the Zip file to a Network share for Centralized Log store and easy access to the files.

Then I prompt myself in the script to check to make sure the Zip file came across correctly.

Then Prompt myself with options to do ether of the options below

Delete the BackupFolder where all files were copied to only.

Delete the TmpZipFolder only and leave the Backup folder which will stay even after a reboot.

Delete both Backup and TmpFolders created thus cleaning all created logs

Exit and do nothing.

Then it lets me know it is done and exit the script.

Things I thought about added next:

Simple prompt to reboot the machine as Do you wish to reboot Device (Y/N) so to save me time.

Create a PW Gui as I do on some of my other apps/scripts so the Technician Infront of the device can submit the Logs without me having to connect to device to run the script.

Now we are a VMWare site and all logs are for that environment. I would like to add the other logs that I may have missed for Citrix and other apps that we do not use if only to Hid them in the script but have them in case anyone else may need it.

I Hope someone finds this useful and if so let me know, but if you have problems with the script or want to share the logs that you capture so that I can add them to the list I would appreciate it so that as the script grows it will be able to be used by more people.

We already had PMs about that @member: IT’S GOLD! I can’t thank you enough for creating this script. I’m still testing it and enjoying all the work you already putted in it!

A few ideas we could brainstorm on:

• write status of logfile creation back to UMS by using UMS Structure Tag

• Have a /wfs Free space monitoring

We use the Structure Tag to manage automated configuration and location so I could not use that. I am looking for a way to sent things to the UMS database from the IGEL devices to ether custom attributes or to another area. I know I can send info to an external database for reporting as I already do that but trying to develop ways to do things inclusive to the IGEL system. I do grab the wfs_stats from Tmp is that what you are looking for as of space monitoring?

If anyone has the Folders and or files for Citrix logs and or any other options that create logs, please share them with me so I can add to the script for future versions so that everyone can benefit from the script. Then you can pick and choose what you want to backup when you deploy it for yourself. If you have questions DM me or post here on the thread. and Thanks for thous that shared info and help verify information for me. We can not do this along.

To activate Citrix logging only one parameter is necessary:


Starting with CWA 2009 Citrix uses the logging daemon ctxlogd, which can be set via the parameters ica.logging.setlog.

The new daemon displays information in the journal,

Nov 02 09:27:39 WYSE1 citrix-ctxlogd [11809]: Session starting for pid 11938.

Nov 02 09:27:39 WYSE1 citrix-ctxlogd[11809]: Session closing for pid 11938.

Nov 02 09:27:39 WYSE1 citrix-ctxlogd[11809]: Session starting for pid 11938.

Nov 02 09:27:39 WYSE1 citrix-ctxlogd[11809]: Process 11938 has named itself “citrix-storebrowse”.

But also creates a logfile (default: /var/log/ICAClient.log).

By default all log levels get the value Error from level all (ica.loggig.setlog.level.all). But it will be necessary to adjust the log levels individually to get the necessary information.

I can not recommend to set the parameter All to verbose, because within one minute 200k log are written.

For more information you can have a look at the program /services/ica/ICAClient/util/setlog and the Citrix documentation

Awesome, as I already grab everything from the/var/log folder so that would include the Citrix logs. I will make a note of that and thanks for the Feedback. I will work on updating some of my other scripts soon to post as well.

Continue reading and comment on the thread ‘Simple script to gather IGEL logs and settings to a centralized location so to easily download’.  Not a member? Join Here!

Learn more, search the IGEL Knowledge Base

Ask a question or comment on the above message thread?

Join or log in to the IGEL Community to ask us anything and meet other IGEL customers, partners, and EUC enthusiasts.

Submit a question, or Join Today!

Popular Message Threads

Categories & Tags: