{"id":26085133,"url":"https://github.com/jakethesillysnake/linuxmonitoring","last_synced_at":"2026-05-06T14:34:15.910Z","repository":{"id":281342038,"uuid":"944989405","full_name":"JakeTheSillySnake/LinuxMonitoring","owner":"JakeTheSillySnake","description":"Simple bash scripts for Ubuntu system overview.","archived":false,"fork":false,"pushed_at":"2025-03-08T12:12:42.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-08T12:28:30.757Z","etag":null,"topics":["bash","bash-script","linux","linux-shell","shell","shell-script","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JakeTheSillySnake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-08T11:54:17.000Z","updated_at":"2025-03-08T12:12:45.000Z","dependencies_parsed_at":"2025-03-08T12:39:41.768Z","dependency_job_id":null,"html_url":"https://github.com/JakeTheSillySnake/LinuxMonitoring","commit_stats":null,"previous_names":["jakethesillysnake/linuxmonitoring"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeTheSillySnake%2FLinuxMonitoring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeTheSillySnake%2FLinuxMonitoring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeTheSillySnake%2FLinuxMonitoring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeTheSillySnake%2FLinuxMonitoring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JakeTheSillySnake","download_url":"https://codeload.github.com/JakeTheSillySnake/LinuxMonitoring/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242650909,"owners_count":20163610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-script","linux","linux-shell","shell","shell-script","ubuntu"],"created_at":"2025-03-09T05:34:12.074Z","updated_at":"2026-05-06T14:34:15.882Z","avatar_url":"https://github.com/JakeTheSillySnake.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LinuxMonitoring\n_Simple bash scripts for Ubuntu system overview. Last edited March, 2025._\n\n\u003cbr/\u003e\n\nTo run either of the scripts, go to the corresponding folder and run `chmod +x ./main.sh`. After that, you can successfully run the `./main.sh` script. The scripts were written and tested on Ubuntu 22.04, so their behaviour may differ on other Unix distributors.\n\n**IMPORTANT:** directory overview requires admin (sudo) priviliges; if you'd like to run the script without them, simply remove any mention of `sudo` from the commands.\n\n## Part 1. System overview\n\nThe script can be found in the `src/sys_overview` folder and is run without arguments. It outputs the following information:\n\n**HOSTNAME** = _host name_  \n**TIMEZONE** = _time zone as: **America/New_York UTC -5**_  \n**USER** = _current user who ran the script_  \n**OS** = _type and version of operating system_  \n**DATE** = _current time as: **12 May 2020 12:24:36**_  \n**UPTIME** = _system uptime_  \n**UPTIME_SEC** = _system uptime in seconds_  \n**IP** = _ip address of the loopback interface_\n**MASK** = _network mask of the loopback interface as: **xxx.xxx.xxx.xxx**_.  \n**GATEWAY** = _default gateway ip_  \n**RAM_TOTAL** = _main memory size in GB with an accuracy of three decimal places as: **3.125 GB**_  \n**RAM_USED** = _used memory size in GB with an accuracy of three decimal places_  \n**RAM_FREE** = _free memory size in GB, with an accuracy of three decimal places_  \n**SPACE_ROOT** = _root partition size in MB, with an accuracy of two decimal places, as **254.25 MB**_  \n**SPACE_ROOT_USED** = _size of used space of the root partition in MB, with an accuracy of two decimal places_  \n**SPACE_ROOT_FREE** = _size of free space of the root partition in MB, with an accuracy of two decimal places_\n\nThe script uses the following colour designations: 1 - white, 2 - red, 3 - green, 4 - blue, 5 - purple, 6 - black. These values are assigned in the `colors.conf` file as follows:\n\n**column1_background** is the background of the value names (HOSTNAME, TIMEZONE, USER etc.)  \n**column1_font_color** is the font colour of the value names (HOSTNAME, TIMEZONE, USER etc.)  \n**column2_background** is the background of the values (after the '=' sign)  \n**column2_font_color** is the font colour of the values (after the '=' sign)\n\nWhen configuring the file, make sure the font and background colours of one column don't match. If one or more parameters are not set, the colour will be substituted from the default colour scheme.\n\nAfter the system information output, the colour scheme is shown as follows:\n```\nColumn 1 background = 2 (red)\nColumn 1 font color = 4 (blue)\nColumn 2 background = 5 (purple)\nColumn 2 font color = 1 (white)\n```\n\nWhen running the script with the default colour scheme, the output will look like this:\n```\nColumn 1 background = default (black)\nColumn 1 font color = default (white)\nColumn 2 background = default (red)\nColumn 2 font color = default (blue)\n```\n\n## Part 2. File system overview\n\nThe script can be found in the `src/dir_overview` folder and is run with a single parameter, which is an absolute or relative path to a directory. The parameter must end with '/', for example: `./main.sh /var/log/`\n\nThe script outputs the following information about the directory specified in the parameter:\n- Total number of folders, including subfolders\n- Top 5 folders with largest size in descending order (path and size)\n- Total number of files\n- Number of configuration files (with .conf extension), text files, executable files, log files (files with .log extension), archives, symbolic links\n- Top 10 files with largest size in descending order (path, size and type)\n- Top 10 executable files with largest size in descending order (path, size and hash)\n- Execution time of the script in seconds\n\nOutput example:\n\n```\nTotal number of folders (including all nested ones) = 6  \nTOP 5 folders of maximum size arranged in descending order (path and size):  \n1 - /var/log/one/, 100 GB  \n2 - /var/log/two/, 100 MB  \netc up to 5\nTotal number of files = 30\nNumber of:  \nConfiguration files (with the .conf extension) = 1 \nText files = 10  \nExecutable files = 5\nLog files (with the extension .log) = 2  \nArchive files = 3  \nSymbolic links = 4  \nTOP 10 files of maximum size arranged in descending order (path, size and type):  \n1 - /var/log/one/one.exe, 10 GB, exe  \n2 - /var/log/two/two.log, 10 MB, log  \netc up to 10  \nTOP 10 executable files of the maximum size arranged in descending order (path, size and MD5 hash of file):  \n1 - /var/log/one/one.exe, 10 GB, 3abb17b66815bc7946cefe727737d295  \n2 - /var/log/two/two.exe, 9 MB, 53c8fdfcbb60cf8e1a1ee90601cc8fe2  \netc up to 10  \nScript execution time (in seconds) = 1.5\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakethesillysnake%2Flinuxmonitoring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakethesillysnake%2Flinuxmonitoring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakethesillysnake%2Flinuxmonitoring/lists"}