1000+ DevOps Bash Scripts - AWS, GCP, Kubernetes, Docker, CI/CD, APIs, SQL, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt for Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, Advanced dotfiles: .bashrc, .vimrc, .gitconfig, .screenrc, tmux..
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Hari Sekhon 381b2c0f2e Update ldap_group_recurse.sh 6 years ago
.travis.yml updated .travis.yml 6 years ago
LICENSE updated LICENSE 8 years ago
Makefile updated Makefile 6 years ago
Makefile.in updated Makefile.in 6 years ago
README.md Update README.md 6 years ago
all.sh updated all.sh 6 years ago
apk-install-packages.sh updated apk-install-packages.sh 6 years ago
apk-remove-packages.sh updated apk-remove-packages.sh 6 years ago
apt-install-packages.sh updated apt-install-packages.sh 6 years ago
apt-remove-packages.sh updated apt-remove-packages.sh 6 years ago
brew-install-packages.sh updated brew-install-packages.sh 6 years ago
center.sh updated all references to DevOps Perl and Python Tools 6 years ago
check_bash_arrays.sh updated check_bash_arrays.sh 6 years ago
check_docker_clean.sh update check_docker_clean.sh 7 years ago
check_duplicate_requirements.sh updated check_duplicate_requirements.sh 6 years ago
check_gradle_build.sh added sorting to file processing order 7 years ago
check_makefile.sh updated check_makefile.sh 7 years ago
check_maven_pom.sh removed -L from find to try to let -type f ignore symlinks 7 years ago
check_no_tabs.sh added check_no_tabs.sh, tabs_ignore.txt 7 years ago
check_non_executable_scripts.sh updated check_non_executable_scripts.sh 7 years ago
check_perl_syntax.sh added sorting to file processing order 7 years ago
check_python3_compat.sh renamed python3.sh -> check_python3_compat.sh 7 years ago
check_python_asserts.sh updated check_python_asserts.sh 6 years ago
check_python_exception_pass.sh updated check_python_exception_pass.sh 6 years ago
check_python_find_quit.sh updated check_python_find_quit.sh 7 years ago
check_python_pep8.sh update check_python_pep8.sh 7 years ago
check_python_pylint.sh renamed pylint.sh -> check_python_pylint.sh 7 years ago
check_pytools.sh updated check_pytools.sh 6 years ago
check_ruby_syntax.sh added sorting to file processing order 7 years ago
check_sbt_build.sh sorted file processing order 7 years ago
check_shell_syntax.sh added sorting to file processing order 7 years ago
check_tests_run_qualified.sh updated check_tests_run_qualified.sh 6 years ago
check_tld_chars.sh updated check_tld_chars.sh 6 years ago
check_travis_yml.sh updated check_travis_yml.sh 7 years ago
check_whitespace.sh updated check_whitespace.sh 7 years ago
clean_my_repos.sh renamed clean-my-repos.sh to clean_my_repos.sh 8 years ago
curl_auth.sh updated curl_auth.sh 6 years ago
docker.sh updated docker.sh 6 years ago
docker_clean.sh added docker_clean.sh 6 years ago
docker_mount_build_exec.sh updated docker_mount_build_exec.sh 6 years ago
excluded.sh updated excluded.sh 6 years ago
exec-interactive.sh updated exec-interactive.sh 6 years ago
find_duplicate_cpan_requirements.sh updated find_duplicate_cpan_requirements.sh 6 years ago
find_duplicate_lines.sh updated find_duplicate_lines.sh 6 years ago
find_duplicate_pip_requirements.sh updated find_duplicate_pip_requirements.sh 6 years ago
find_hanging_mount_point.sh updated find_hanging_mount_point.sh 6 years ago
find_unused_cpan_modules.sh added find_unused_cpan_modules.sh 6 years ago
find_unused_pip_modules.sh updated find_unused_pip_modules.sh 6 years ago
git.sh updated git.sh 6 years ago
git_for_each_branch.sh updated git_for_each_branch.sh 7 years ago
git_merge_all.sh update git_merge_all.sh 7 years ago
git_merge_master.sh update git_merge_master.sh 7 years ago
git_merge_master_pull.sh update git_merge_master_pull.sh 7 years ago
git_pull_make_repos.sh renamed fetch_build_git_repos.sh to git_pull_make_repos.sh 6 years ago
install_epel_repo.sh updated install_epel_repo.sh 6 years ago
install_gradle.sh update install_gradle.sh 7 years ago
install_groovy.sh update install_groovy.sh 7 years ago
install_maven.sh update install_maven.sh 7 years ago
install_sbt.sh updated install_sbt.sh 6 years ago
ldap_group_recurse.sh Update ldap_group_recurse.sh 6 years ago
ldap_user_recurse.sh updated ldap_user_recurse.sh 6 years ago
ldapsearch.sh updated ldapsearch.sh 6 years ago
perl.sh updated perl.sh 7 years ago
perl_cpanm_install_if_absent.sh added openssl include and lib env vars for Mac OSX 6 years ago
python_compile.sh updated python_compile.sh 6 years ago
python_module_to_import_name.sh updated python_module_to_import_name.sh 6 years ago
python_pip_install_if_absent.sh updated python_pip_install_if_absent.sh 6 years ago
random_select.sh updated random_select.sh 8 years ago
repolist.txt updated repolist.txt 6 years ago
run_latest_tests.sh added run_latest_tests.sh 7 years ago
run_tests.sh updated run_tests.sh 7 years ago
scan_duplicate_macs.sh updated scan_duplicate_macs.sh 6 years ago
split.sh updated split.sh 6 years ago
tabs_ignore.txt updated tabs_ignore.txt 6 years ago
update_my_repos.sh renamed update-my-repos.sh to update_my_repos.sh 8 years ago
utils.sh updated utils.sh 6 years ago
whitespace_ignore.txt updated whitespace_ignore.txt 6 years ago
yum-install-packages.sh updated yum-install-packages.sh 6 years ago
yum-remove-packages.sh updated yum-remove-packages.sh 6 years ago

README.md

Hari Sekhon - Bash Tools

Build Status Codacy Badge Platform DockerHub

Shell Script & Utility library used by all my other GitHub repos.

For more advanced Systems Administration scripts, see the repos listed at the bottom of the page.

  • Scripts - Linux systems administration scripts

    • installation scripts for various OS packages (RPM, Deb, Apk) for various Linux distros (Redhat RHEL / CentOS / Fedora, Debian / Ubuntu, Alpine)
    • install if absent scripts for Python and Perl modules - good for combining with first attempt to install via system packages, and then these will pull from PyPI or CPAN only those modules which aren't installed. This speeds up builds and uses the standard packaged modules where possible. This is also more reliable than getting random compile errors from CPAN as libraries update and introduce bugs or needing to install too many dev libraries
    • install scripts for Jython and build tools like Gradle and SBT for when Linux distros don't provide packaged versions or where the packaged versions are too old
    • Git branch management
    • utility scripts used from other scripts
  • Bash utility libraries full of functions for Docker, environment, CI detection, port and HTTP url availability content checks etc.

  • Programming language linting:

    • Python (syntax, pep8, pre-byte-compiling)
    • Perl
    • Java
    • Scala
    • Ruby
    • Shell
    • Misc (whitespace, custom enforced checks like not calling quit() in python etc)
  • Build System and CI linting:

    • Make
    • Maven
    • SBT
    • Gradle
    • Travis CI
  • Data format validation using programs from my DevOps Python Tools repo:

    • CSV
    • JSON
    • Avro
    • Parquet
    • INI / Properties files (Java)
    • LDAP LDIF
    • XML
    • YAML

Currently utilized in the following GitHub repos:

Pre-built Docker images are available for those repos (which include this one as a submodule) and the "docker available" icon above links to an uber image which contains all my github repos pre-built. There are Centos, Debian and Ubuntu versions of this uber Docker image containing all repos.