diff --git a/2026/day-01/learning-plan.md b/2026/day-01/learning-plan.md new file mode 100644 index 0000000000..151d157d46 --- /dev/null +++ b/2026/day-01/learning-plan.md @@ -0,0 +1,26 @@ +# My 90 Days DevOps Learning Plan + +## Current Level + +I am a student learning DevOps and cloud technologies. + +## Why I Started DevOps + +I want to build strong practical skills and become a DevOps engineer. +I also want to make my parents proud. + +## My Goals + +- Improve Linux and Docker skills +- Learn CI/CD and Kubernetes +- Build real DevOps projects used at industry level + +## Skills I Want to Build + +- Linux troubleshooting +- CI/CD pipelines +- Cloud and Kubernetes basics + +## Daily Consistency Plan + +I will practice daily for 2–3 hours and stay consistent during this 90 Days Challenge. diff --git a/2026/day-02/linux-achitecture-notes.md b/2026/day-02/linux-achitecture-notes.md new file mode 100644 index 0000000000..d2c0ac224a --- /dev/null +++ b/2026/day-02/linux-achitecture-notes.md @@ -0,0 +1,40 @@ +# My 90 Days DevOps Challenge + +# Linux Architecture + +linux has kernal and user space + +- kernal manage hardware +- user space is where user run application +- systemd use for cheacks logs and manage background services + +# Process + +process isa runnig program + +process States: + +- running +- slepping +- zombie + +# systemd + +- start services +- stop service +- restart service + +Example - systemctl status mysql + +# Today Important cmd + +- ls :- list file and director +- cd :- change directory go to another folder +- pwd :- present workig directory #to see where we now +- cat :- to show the content in the file +- ls -a :- list all files in the current directory +- sudo apt update : use for update system +- head -n 2 : shows the last 2 lines +- tail -n -2 : shows the last 2 lines + +## Linux Architecture and sytemd are important for DevOps Troubleshooting. diff --git a/2026/day-03/linux-commands-cheatsheet.md b/2026/day-03/linux-commands-cheatsheet.md new file mode 100644 index 0000000000..71bc257ea3 --- /dev/null +++ b/2026/day-03/linux-commands-cheatsheet.md @@ -0,0 +1,43 @@ +# My 90 Days of Devops challenge + +# Process Management + +ps - show running process + +top - moniter running live process + +pgrep bash - find process id by name + +nohup - run the process after logout + + + +## File system + +pwd - present working directory + +ls - list file or directory + +mv - move or remname file or directory + +cp - copies file and directory one place to another + +rm - delete file or directory permanently + +cat - disply content in the file on terminal + +df -h shows disk space uses in "human-redable" format (GB/MB) + + + +## Networking Troublshooting + +ping - cheack internet/network connectivity + +ip addr - shows IP address and network interfaces + +curl - fetch website data + +ifconfig - shows network interface information + + diff --git a/2026/day-04/linux-practice.md b/2026/day-04/linux-practice.md new file mode 100644 index 0000000000..273a54912a --- /dev/null +++ b/2026/day-04/linux-practice.md @@ -0,0 +1,71 @@ +# My 90 Days of Devops Challenge + +## Process Cheacks + +- ps aux - shows all running process + +- pgrep ssh - show ssh process PID + +- top - real-time monitoring + + + +## Service Cheacks + +- systemctl list-unit - shows running services + +- system status ssh - cheacks ssh service stause + +- sudo start ssh - start ssh service + + + +## Log Checks + +- journalctl -u ssh - shows ssh service logs + +- tail -n 50 /var/log/syslog - system-wide logs + + + +## Mini Trobleshooting steps + +- cheacked running process using ps and pgrep + +- cheack service status to use of systemctl status ssh + +- cheacked service logs using journalctl -u ssh + +- viewed system logs using syslog + +- cheack last 50 active logs useing tail -n 50 command + + +## Learning Summary + +- Today I learned how to cheack processess, services , and logs in linux. I alos understand how troublshooting works using system commands. + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2026/day-05/linux-troubleshooting-runbook.md b/2026/day-05/linux-troubleshooting-runbook.md new file mode 100644 index 0000000000..aa3a591648 --- /dev/null +++ b/2026/day-05/linux-troubleshooting-runbook.md @@ -0,0 +1,66 @@ +## My 90 Days Devops challenge + +# Linux Troubleshooting Runbook (Day 05) + +## Target Service: SSH (sshd) + +--- + +## CPU & Memory +top +→ check CPU usage + +free -h +→ check RAM usage + +--- + +## Disk +df -h +→ check disk space + +du -sh /var/log +→ check log folder size + +--- + +## Network +ss -tulpn +→ check open ports + services + +curl -I http://13.232.73.184 +→ check website status (200 = OK) + +--- + +## Logs + +journalctl -u ssh -n 50 +→ SSH service logs + +tail -n 50 /var/log/auth.log +→ login + sudo + SSH logs + +--- + +## Quick Meaning + +journalctl → service logs +tail → file logs +ss → ports +df → disk +free → memory +curl → website check + +--- + +## If issue happens + +restart service: +sudo systemctl restart ssh + +check live logs: +journalctl -u ssh -f + +check failed logins: +grep "Failed" /var/log/auth.log diff --git a/2026/day-06/file-io-practice.md b/2026/day-06/file-io-practice.md new file mode 100644 index 0000000000..67a2eb0f97 --- /dev/null +++ b/2026/day-06/file-io-practice.md @@ -0,0 +1,102 @@ +## My 90 days challenge + +# Day 06 – Linux File I/O Practice + +## Objective + +Learn basic file read and write operations in Linux using simple commands. + +--- + +## Commands Practiced + +### 1. Create file + +```bash +touch notes.txt +``` + +Creates an empty file named `notes.txt`. + +--- + +### 2. Write first line (overwrite) + +```bash +echo "Line 1" > notes.txt +``` + +* `>` = write and replace old content + +--- + +### 3. Add second line (append) + +```bash +echo "Line 2" >> notes.txt +``` + +* `>>` = add without deleting old content + +--- + +### 4. Add third line using tee + +```bash +echo "Line 3" | tee -a notes.txt +``` + +* `tee -a` = add text + show output on screen + +--- + +### 5. Read full file + +```bash +cat notes.txt +``` + +Shows entire file content. + +--- + +### 6. Show first 2 lines + +```bash +head -n 2 notes.txt +``` + +--- + +### 7. Show last 2 lines + +```bash +tail -n 2 notes.txt +``` + +--- + +## Key Learnings + +* `>` overwrites file content +* `>>` appends new data +* `cat` reads full file +* `head` shows top lines +* `tail` shows bottom lines +* `tee` writes + displays output + +--- + +## Why This Matters + +File handling is very important in DevOps: + +* logs +* configs +* scripts + +Fast file handling = faster debugging 🚀 + +--- + +## End of Day 06 diff --git a/2026/day-07/day-07-linux-fs-and-scenarious.md b/2026/day-07/day-07-linux-fs-and-scenarious.md new file mode 100644 index 0000000000..20ff7b65c5 --- /dev/null +++ b/2026/day-07/day-07-linux-fs-and-scenarious.md @@ -0,0 +1,108 @@ +# My 90 days of challenge + +#/ root + +- its the starting point of everything its containe user directory or whole system information +# shows in this +- home +- etc +- var + +# i would use this to show all directory of system + + + + + + +## /home + +- it contain the user directory + +## shown in this folder +- chaitanya user +- ubuntu user + +## i would use this to see how many user are exist + + + + +## /root +- it contain home all information of system it is admin of linux + +# shows in this folder +- users home directory + +# i would use this like admin + + + +#/etc + +- etc contains the system config file and system setting + +# shows in this folder +- passwd +- hostname + +# i would use this for knnow the config like /etc/passwd t check user information + + +#/var/log + +- it contains log of services file + +#shows in this folder +- auth.log +- kern.log + +# i would use this you i want to find logs of service this use devops engineer in real-liffe + + +# /tmp +- this store temprery files + +#shows in folder +- jenkins +-ubuntu + +# i would use this for store temprery file + + +# /bin +- its contain linux basic cmd like cp,ls.cd + +# shows in folder +- usr +-bin + +# i would use this to use basic cmd or seen this cmd basix of linux + + + +# /usr/bin + +- contain user tool git docker + +## i would this in deployment or production + + +# /opt + +- optional and third party application package store + +## i would this to store third party application package + + + +#du -sh /var/log/* 2>/dev/null |sort-h | tail -5 +- find the largest log file in the /var/log + +# cat /etc/hostname +- show the confing file hostname meens server name + +# ls -la ~ +- cheack home directory + +# Todays i am learning the which directory whats usees and which time we will use this in real-time diff --git a/2026/day-08/Screenshot (347).png b/2026/day-08/Screenshot (347).png new file mode 100644 index 0000000000..ad285e9ffa Binary files /dev/null and b/2026/day-08/Screenshot (347).png differ diff --git a/2026/day-08/day-08-cloud-deployment.md b/2026/day-08/day-08-cloud-deployment.md new file mode 100644 index 0000000000..5c82df5cf8 --- /dev/null +++ b/2026/day-08/day-08-cloud-deployment.md @@ -0,0 +1,34 @@ +## My 90 Days Devops challenge + +## Command used + +- ssh -i key.pem ubuntu@<13.232.73.184> +- sudo apt-get update +- sudo apt install docker.io -y +- sudo apt install nginx -y +- systemctl status docker.io +- tail -n 50 /var/log/nginx/access.log +- cp /var/log/nginx/access.log ~/nginx-logs.txt + +## Challenge i faced +- i was confused in how to nginx logs work. +- i lerned http status code 200 means sucessfully acess and 400 means file not found + +# what i learned +- i know how to connect ec2 instance using ssh +- how to install docker & nginx +- how to cheacks status of service +- how to start service +- how view and save nginx acess logs + +# verification +- sucessfully connected to the server throught ssh +- Acessed the nginx welcome page from browser using the public ip address +- show nginx logs and save logs in the local in nginx-logs.txt + +# why this matters in Devops + +- this help me to understand server management, web server devloyment security group configuration how how add port in security grop +this is real devops troublshooting these are essential skills of devops engineer + + diff --git a/2026/day-08/instance.png b/2026/day-08/instance.png new file mode 100644 index 0000000000..89c5c2df60 Binary files /dev/null and b/2026/day-08/instance.png differ diff --git a/2026/day-08/nginx_png.png b/2026/day-08/nginx_png.png new file mode 100644 index 0000000000..ad285e9ffa Binary files /dev/null and b/2026/day-08/nginx_png.png differ diff --git a/2026/day-08/ssh _connection.png b/2026/day-08/ssh _connection.png new file mode 100644 index 0000000000..3af3a36d51 Binary files /dev/null and b/2026/day-08/ssh _connection.png differ diff --git a/2026/day-09/day-09-user-managment.md b/2026/day-09/day-09-user-managment.md new file mode 100644 index 0000000000..3032a4e4d3 --- /dev/null +++ b/2026/day-09/day-09-user-managment.md @@ -0,0 +1,35 @@ +## My 90 days of Challenge + +## Day 09 challenge + +## User & Group Created + +- Users: tokoyo, berlin, professor, nairobi +- Group: developers, admins, project-team + +# Group Assignments +- developer: tokoyo,berlin +- admins: professor +- project-team: nairobi, + +## Directoris Created +- team-workspace: sudo chmod 774 /opt/team-workspace + +## Command Used + +- useradd -m : created user and directory of user +- groupadd : create group +- group -aG : add user to in this group +- chgrp: change group owner for directory +- ls -ld : cheack directory permission +- chmod: add or give permission + +## what i learned +- i learned how to create user and groups and how to assign user to group. +- change owner of groups and give file permission throw the chmod +- make folder in opt and give acess to the user which is the group + +## i know today how to manage linux users groups and how to change +owner and give he permission. and how to troublshooting how to fix problem +this is actually i know toady with hands on how to manage linux file system +in real-time . diff --git a/2026/day-10/.github/workflows/stale.yml b/2026/day-10/.github/workflows/stale.yml new file mode 100644 index 0000000000..aecdf963b3 --- /dev/null +++ b/2026/day-10/.github/workflows/stale.yml @@ -0,0 +1,27 @@ +# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. +# +# You can adjust the behavior by modifying this file. +# For more information, see: +# https://github.com/actions/stale +name: Mark stale issues and pull requests + +on: + schedule: + - cron: '20 7 * * *' + +jobs: + stale: + + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/stale@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'Stale issue message' + stale-pr-message: 'Stale pull request message' + stale-issue-label: 'no-issue-activity' + stale-pr-label: 'no-pr-activity' diff --git a/2026/day-10/.gitignore b/2026/day-10/.gitignore new file mode 100644 index 0000000000..269d0f1e86 --- /dev/null +++ b/2026/day-10/.gitignore @@ -0,0 +1,42 @@ +# OS +.DS_Store +Thumbs.db + +# Logs +*.log +*.pid + +# Environment +.env +.env.* + +# Python +__pycache__/ +*.pyc +.venv/ + +# Node +node_modules/ + +# Build +build/ +dist/ + +# Terraform +.terraform/ +*.tfstate +*.tfstate.* +crash.log + +# Kubernetes +.kube/ + +# IDE +.vscode/ +.idea/ + +# Caches +.cache/ +.pytest_cache/ +coverage/ +CLAUDE.md diff --git a/2026/day-10/README.md b/2026/day-10/README.md index f1c66a14c3..b3e2cc9025 100644 --- a/2026/day-10/README.md +++ b/2026/day-10/README.md @@ -1,3 +1,70 @@ +<<<<<<< HEAD +# 🚀 90DaysOfDevOps +### Learn • Build • Practice • Become Job-Ready + +Welcome to **90DaysOfDevOps**, a structured and hands-on DevOps challenge by **TrainWithShubham**. + +This repository is designed to help you **build real DevOps skills step by step in 90 days** — not by watching endless videos, but by **doing daily tasks**, building projects, and thinking like a **production-ready DevOps engineer**. + +This is not a theory-heavy course. +This is a **discipline + execution challenge**. + +--- + +## 🎯 What is #90DaysOfDevOps? + +**#90DaysOfDevOps** is a **day-wise DevOps learning challenge** where: + +- Every day has **one clear task** +- Every task has a **real-world DevOps outcome** +- Every learner builds a **public GitHub proof of work** +- Every concept is reinforced through **hands-on practice** +- Learning is aligned with **live classes and recordings** + +By the end of 90 days, you will have: +- Strong DevOps fundamentals +- Multiple mini-projects +- One end-to-end DevOps capstone project +- A GitHub profile that clearly shows consistency +- Confidence to handle DevOps interviews and production systems + +--- + +## 🧠 Who Is This For? + +This challenge is ideal for: + +- Students and freshers entering DevOps or Cloud +- Working professionals switching to DevOps / SRE / Cloud roles +- Developers who want to understand infrastructure and CI/CD +- Anyone who believes **consistency beats talent** + +No prior DevOps experience is required. +**Commitment is mandatory.** + +--- + +## 🗂 Repository Structure + +``` +90DaysOfDevOps/ +│ +├── README.md +├── CONTRIBUTING.md +├── LICENSE +├── .gitignore +│ +├── scripts/ +│ └── helper-scripts.sh +│ +├── day-01/ +│ └── README.md +├── day-02/ +│ └── README.md +├── ... +├── day-90/ +│ └── README.md +======= # Day 10 – File Permissions & File Operations Challenge ## Task @@ -91,10 +158,56 @@ Create `day-10-file-permissions.md`: ## What I Learned [3 key points] +>>>>>>> a8a98a1 (Completed Day 10 learning plane) ``` --- +<<<<<<< HEAD +## 📅 How the Challenge Works + +- **One day = one task** +- Tasks are aligned with **live classes** +- Live class days focus on **core concepts** +- Weekdays focus on **practice and reinforcement** +- Daily commits are encouraged + +Even **30–60 minutes per day** is enough if done honestly. + +--- + +## 🛠 What You Will Learn + +- Linux fundamentals and troubleshooting +- Shell scripting and automation +- Networking basics for DevOps +- Git and GitHub workflows +- Docker and containerization +- AWS core and advanced services +- CI/CD using Jenkins, GitHub Actions, GitLab +- DevSecOps fundamentals +- Kubernetes, Helm, ArgoCD +- Terraform and Ansible +- Observability with Grafana, Prometheus, OpenTelemetry +- End-to-end DevOps project + +--- + +## 📦 How to Participate + +1. Fork this repository +2. Clone your fork +3. Navigate to the current `day-XX` folder +4. Complete the task +5. Commit and push your work + +--- + +## 🌍 Learn in Public + +Share your progress on LinkedIn: + +======= ## Submission 1. Navigate to `2026/day-10/` folder 2. Add `day-10-file-permissions.md` with screenshots @@ -107,11 +220,26 @@ Create `day-10-file-permissions.md`: Share on LinkedIn about mastering file permissions. Use hashtags: +>>>>>>> a8a98a1 (Completed Day 10 learning plane) ``` #90DaysOfDevOps #DevOpsKaJosh #TrainWithShubham ``` +<<<<<<< HEAD +--- + +## ❤️ Final Note + +DevOps is not about tools. +It is about **ownership, reliability, and consistency**. + +One day at a time. +One commit at a time. + +Happy Learning +======= Happy Learning +>>>>>>> a8a98a1 (Completed Day 10 learning plane) **TrainWithShubham** diff --git a/2026/day-10/day-10-file-permissions.md b/2026/day-10/day-10-file-permissions.md new file mode 100644 index 0000000000..576889c297 --- /dev/null +++ b/2026/day-10/day-10-file-permissions.md @@ -0,0 +1,36 @@ +## My Devops Challenge Day-10 + +# Day 10 Challenge + +## Files Created + +- devops.txt +- notes.txt +- script.sh + +## Permission changes + +## Before +- notes.txt : -rw-rw-r-- +- devops.txt : -rw-rw-r-- +- script.txt : -rw-rw-r-- + +# After change +- notes.txt : -rw-r----- +- devops.txt : -r--r--r-- +- script.sh : -rwxrwxr-- + +## Command Used + +- ls -l : see file permissions +- chmod: modify file permissions +- cat : display file output +- touch : make file +- head - display top 5 lines +- tail - display bottom 5 lines + +## What I Learned +- i have learned how to see permission of the file and how to give permission to the files. +- how to dispaly content on screen, permission management . +- how i wll manage devops work with linux file permission and etc. +- i am learned core concept of linux which is very important for a Devops Engineer diff --git a/2026/day-11/day-11-file-ownership.md b/2026/day-11/day-11-file-ownership.md new file mode 100644 index 0000000000..4d592f2a55 --- /dev/null +++ b/2026/day-11/day-11-file-ownership.md @@ -0,0 +1,78 @@ +## My 90 Days of Challenge + +## day 11 challenge + +## Files & Directories Created + +Files: + +* devops-file.txt +* team-notes.txt +* project-config.yaml +* heist-project/vault/gold.txt +* heist-project/plans/strategy.conf +* bank-heist/access-codes.txt +* bank-heist/blueprints.pdf +* bank-heist/escape-plan.txt + +Directories: + +* app-logs/ +* heist-project/ +* bank-heist/ + +--- + +## Ownership Changes + +### Task 2 + +* devops-file.txt → ubuntu → tokyo → berlin + +### Task 3 + +* team-notes.txt → group changed to heist-team + +### Task 4 + +* project-config.yaml → professor:heist-team +* app-logs/ → berlin:heist-team + +### Task 5 + +Recursive ownership: + +* heist-project/ → professor:planners + +### Task 6 + +* access-codes.txt → tokyo:vault-team +* blueprints.pdf → berlin:tech-team +* escape-plan.txt → nairobi:vault-team + +--- + +## Commands Used + +```bash +ls -l +sudo chown username filename +sudo chgrp groupname filename +sudo chown owner:group filename +sudo chown -R owner:group directory +mkdir -p +touch +ls -lR +``` + +## Screenshots + +(Add screenshots here) + +--- + +## What I Learned + +1. Owner and group are different concepts in Linux. +2. chown changes ownership and chgrp changes group ownership. +3. Recursive ownership (-R) helps manage complete project directories quickly. diff --git a/2026/day-12/day-12-revision.md b/2026/day-12/day-12-revision.md new file mode 100644 index 0000000000..1c38a6aba0 --- /dev/null +++ b/2026/day-12/day-12-revision.md @@ -0,0 +1,162 @@ +# Day 12 – Revision (Days 01–11) + +## Mindset & Learning Plan +- My goal is to become a DevOps Engineer. +- Days 01–11 helped me understand Linux basics, processes, services, files, permissions, users and groups. +- My plan is still correct. +- Improvement needed: + - Practice commands daily. + - Stop only watching tutorials and focus more on hands-on practice. + - Improve troubleshooting thinking. + +--- + +## Processes & Services Review + +Commands practiced: + +1. ps +- Used to check running processes. +- Observed currently running system and user processes. + +2. systemctl status ssh +- Used to check service health. +- Checked whether SSH service is active or failed. + +3. journalctl -u ssh +- Used to see service logs and troubleshoot issues. + +Observation: +- A service can be checked by status first and logs help when errors happen. + +--- + +## File Skills Practice + +Commands practiced: + +1. mkdir test-folder +- Created a new directory. + +2. echo "DevOps Practice" >> file.txt +- Added data into a file without deleting old content. + +3. chmod 760 file.txt +- Changed file permissions. + +4. chown ubuntu:ubuntu file.txt +- Changed file ownership. + +5. ls -l +- Verified permission and ownership. + +--- + +## User / Group Practice + +Scenario: +- Created a test user. +- Checked user information. + +Commands: + +id testuser + +ls -l file.txt + +Observation: +- id shows user and group details. +- ls -l shows owner and permissions. + +--- + +## My Top 5 Commands + +1. ls -l +Why: +- Quickly check files, permissions and ownership. + +2. systemctl status +Why: +- Check if service is running. + +3. journalctl +Why: +- Find errors from logs. + +4. chmod +Why: +- Manage file access. + +5. ps +Why: +- Check running processes. + +--- + +## Self Check Answers + +Q1. Which 3 commands save me the most time? + +Answer: +- ls -l because it gives file details. +- systemctl status because it quickly checks service health. +- journalctl because it helps find problems. + +--- + +Q2. How do you check if a service is healthy? + +Commands: + +systemctl status service_name + +journalctl -u service_name + +--- + +Q3. How do you safely change ownership and permissions? + +Example: + +sudo chown user:group file.txt + +sudo chmod 640 file.txt + +First check current permission using: + +ls -l + +--- + +Q4. What will I improve in next 3 days? + +- Improve shell scripting logic. +- Practice Linux troubleshooting. +- Understand commands instead of memorizing. + +--- + +## Key Takeaways + +- Linux commands become easier by practicing. +- Permissions and services are important DevOps foundations. +- Troubleshooting requires checking status, logs and permissions. + +## commands revise + +ps + +systemctl status ssh + +journalctl -u ssh + +mkdir revision-test + +echo "hello devops" >> test.txt + +ls -l test.txt + +chmod 640 test.txt + +ls -l test.txt diff --git a/2026/day-13/day-13-lvm.md b/2026/day-13/day-13-lvm.md new file mode 100644 index 0000000000..d75f5ff942 --- /dev/null +++ b/2026/day-13/day-13-lvm.md @@ -0,0 +1,28 @@ +# Day 13 – Linux Volume Management (LVM) + +## 🚀 Task Objective +Learn LVM to manage storage flexibly – create, extend, and mount volumes. + +--- + +## 🧠 What I learned + +- How to create a virtual disk using loop device +- Physical Volume (PV) creation +- Volume Group (VG) creation +- Logical Volume (LV) creation +- Formatting and mounting storage +- Extending storage using LVM +- Filesystem resizing using resize2fs + +--- + +## ⚙️ Commands Used + +### 1. Create Virtual Disk +```bash +sudo su + +dd if=/dev/zero of=/tmp/disk1.img bs=1M count=1024 +losetup -fP /tmp/disk1.img +losetup -a diff --git a/2026/day-14/networking.md b/2026/day-14/networking.md new file mode 100644 index 0000000000..80e2b4bac3 --- /dev/null +++ b/2026/day-14/networking.md @@ -0,0 +1,25 @@ +# Day 14 - Networking Fundamentals & Hands-on Checks + +Today I practiced basic networking troubleshooting commands used by DevOps engineers. + +## Commands practiced: + +- hostname -I → Checked my machine IP address +- ping → Checked connectivity and latency +- traceroute → Checked network path and hops between my server and target +- ss -tulpn → Checked listening ports and running services +- dig → Checked DNS resolution and domain IP mapping +- curl -I → Checked HTTP response status and headers +- netstat -an → Viewed active network connections + +## Key Learnings: + +- DNS maps domain names to IP addresses +- TCP/UDP work at the transport layer +- HTTP/HTTPS works at the application layer +- traceroute helps identify network path issues +- curl helps check application/server responses + +## DevOps Troubleshooting Flow + +LINK IP TCP APPLICATION diff --git a/2026/day-15/Screenshot (424).png b/2026/day-15/Screenshot (424).png new file mode 100644 index 0000000000..0501c98d06 Binary files /dev/null and b/2026/day-15/Screenshot (424).png differ diff --git a/2026/day-15/day-15-networking-concepts.md b/2026/day-15/day-15-networking-concepts.md new file mode 100644 index 0000000000..0a0d72552d --- /dev/null +++ b/2026/day-15/day-15-networking-concepts.md @@ -0,0 +1,127 @@ +# Task 1: DNS – How Names Become IPs + +## What happens when you type google.com in a browser? + +When we type google.com in a browser, the browser asks DNS to find the IP address of that domain. +DNS searches its records and returns the IP address. +Then the browser connects to that IP address using TCP/TLS and sends an HTTP/HTTPS request. +The server sends the response back and the website loads. + +--- + +## DNS Record Types + +### A Record +A record maps a domain name to an IPv4 address. + +Example: + +google.com → 142.250.x.x + +--- + +### AAAA Record +AAAA record maps a domain name to an IPv6 address. + +Example: + +google.com → IPv6 address + +--- + +### CNAME Record +CNAME maps one domain name to another domain name. + +Example: + +www.example.com → example.com + +It is commonly used with CDN and load balancers. + +--- + +### MX Record +MX record tells which mail server receives emails for a domain. + +Example: + +company.com → mail.company.com + +It is used for email delivery. + +--- + +### NS Record +NS record tells which DNS servers are responsible for managing a domain's DNS records. + +Example: + +google.com → Google DNS servers + +--- +## dig google.com + + +## Task 2 + +1] the ipv4 is is ip address of the server it is 4 partin dots +it is start-255 end each + +2] public ip for use publically can open directly and coonect directly +and in private ip is not connect if you watn to connect this +then you have ssh or private key like use in ec2 ssh in home wifi etc + +3] - 10.0.0.0 - 10.255.255.255 +- 172.16.0.0 - 172.31.255.255 +- 192.168.0.0 - 192.168.255.255 + +Example: +172.31.45.68 (AWS EC2 private ip) + + +## Task 3 + CIDR SUBMASK TOTAL IP USABLE_HOST + + /24 255.255.255.0 256 254 + + /16 255.255.0.0 65,536 65,534 + + /28 255.255.255.240 16 14 + + + +## task 4 + + +port we need the port for knowing which application run in which port +app run container inside the port + + +PORT SERVICE + +22 SSH + +80 HTTPS + +443 HTTPS + +53 DNS + +3306 MYSQL + +6379 REDIS + +27017 MONGO DB + + + +## Task 5 putting it together + +1) curl http://amazon.com curl use for show application +showing the app is giving responce or not mens working or not +devops engineer use whe clien say appcation not working then they check +first -> dig -> ping -> curl this is flow + + +2) when we cant reach database then we can check first firwall is this open port or not + diff --git a/2026/day-16/check_number.sh b/2026/day-16/check_number.sh new file mode 100755 index 0000000000..bb98d1fd16 --- /dev/null +++ b/2026/day-16/check_number.sh @@ -0,0 +1,16 @@ +#!/bin/bash + + +read -r -p " Enter the number ": number + +if [[ $number < 0 ]]; then + echo "Negetive" + + +elif [[ $number > 0 ]]; then + echo "postive" + +else + echo "zero" + +fi diff --git a/2026/day-16/day_16_shell_scripting.md b/2026/day-16/day_16_shell_scripting.md new file mode 100644 index 0000000000..c165f9e0e7 --- /dev/null +++ b/2026/day-16/day_16_shell_scripting.md @@ -0,0 +1,86 @@ +Day 16 - 90 Days Of DevOps + +## 🐧 Topic: Shell Scripting Basics + +Today I started my Shell Scripting journey and learned the fundamentals of Bash scripting used in Linux automation. + +## 📚 What I Learned + +### 1. Shebang and First Shell Script + +Created my first shell script using: + +```bash +#!/bin/bash + +Learned that shebang tells Linux which interpreter should execute the script. + +Executed scripts using: + +chmod +x hello.sh +./hello.sh +2. Variables in Shell Script + +Learned how to store and reuse values using variables. + +Example: + +NAME="Chaitanya" +ROLE="DevOps Engineer" + +echo "Hello, I am $NAME and I am a $ROLE" + +Also learned the difference between single quotes and double quotes. + +Double quotes allow variables to work. +Single quotes treat everything as normal text. +3. User Input Using read + +Created scripts that take input from users. + +Example: + +read -p "Enter your name: " NAME + +Learned how scripts can interact with users dynamically. + +4. If-Else Conditions + +Practiced decision-making in Bash. + +Created scripts for: + +Checking whether a number is positive, negative, or zero +Checking whether a file exists + +Learned the structure: + +if +elif +else +fi +5. Automation Script + +Created a server checking script. + +The script: + +Stores a service name in a variable +Takes user confirmation +Checks service status using: +systemctl status + +This helped me understand how DevOps engineers automate daily Linux tasks. + +📝 Scripts Created +hello.sh +variables.sh +greet.sh +check_number.sh +file_check.sh +server_check.sh +🧠 Key Takeaways +Shell scripting helps automate repetitive Linux tasks. +Variables make scripts reusable and easier to manage. +Conditions help scripts make decisions automatically. +🚀 Day 16 Completed Successfull diff --git a/2026/day-16/greet.sh b/2026/day-16/greet.sh new file mode 100755 index 0000000000..cf590e584f --- /dev/null +++ b/2026/day-16/greet.sh @@ -0,0 +1,8 @@ +#!/bin/bash + + +read -r -p " Enter your name brohhh ": NAME + +read -r -p " say your favorite tool ": CICD + +echo " Hello $NAME your favorite tool is $CICD " diff --git a/2026/day-16/hello.sh b/2026/day-16/hello.sh new file mode 100755 index 0000000000..aae1fded33 --- /dev/null +++ b/2026/day-16/hello.sh @@ -0,0 +1 @@ +echo "hello, devops" diff --git a/2026/day-16/server_check.sh b/2026/day-16/server_check.sh new file mode 100755 index 0000000000..abdf72279a --- /dev/null +++ b/2026/day-16/server_check.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +SERVICE="ssh" + +read -r -p "Do you want to check the status ssh Y/N ?: " ANSWER + + +if [[ $ANSWER == "y" ]] +then + systemctl status $SERVICE + + if systemctl is-active --quiet $SERVICE + then + echo "$SERVICE is active" + + else + echo "$SERVICE is not active" + + fi + +else + echo "Skipped." + +fi + + + + diff --git a/2026/day-16/variable.sh b/2026/day-16/variable.sh new file mode 100755 index 0000000000..ff9f360e6d --- /dev/null +++ b/2026/day-16/variable.sh @@ -0,0 +1,9 @@ +#!/bin/bash + + +name="CHAITANYA" + +role="DEVOPS ENGINEER" + + +echo "hello I am $name and i am a $role"