Skip to content
Open

Main #561

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions 2026/day-01/learning-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
This is my Day-01 to kickstart my Devops journey

I am starting a 90DaysOfDevOpsChallenge conducted by @Shubham Londhe #TrainWithShubham

There are few tasks which i want to complete as day-01 tasks


1. What is your understanding of DevOps and Cloud Engineering?
Answer: I am BCS 3rd year student and Devops fresher. A term DevOps is combination of devlopment+operations. DevOps focuses on automation,monitoring by build, test and deploy code through CI/CD pipeline and make the code fully automated using terraform. DevOps is such a great field if you love doing automate things, if you don't want to use logic in your code , if you are able to solve errors by seeing logs of your code then absoluetly devops is must have skill.



2. Why you are starting learning DevOps & Cloud?
Answer: I am learning DevOps and Cloud because I truly enjoy automating things and seeing my work run in real systems. Ilike fixing issues by checking logs, understanding how applications work in production, and making deployments faster and smoother. DevOps excites me because it is practical, hands-on, and lets me build and manage real-world infrastructure.
I want to build strong skills in Linux troubleshooting, CI/CD automation, and managing cloud infrastructure using tools like Docker and Terraform.



3. Where do you want to reach?
Answer: In the next 90 days, I want to build strong hands-on DevOps skills by working on real projects and understandinghow production systems work. My goal is to confidently deploy and manage applications using Docker, CI/CD pipelines, andbasic Kubernetes on the cloud. I also want to be job-ready for entry-level DevOps or Cloud roles by the end of this learning journey.



4. How you will stay consistent every single day?
Answer: I will follow a fixed daily study schedule and spend at least 4 hours on weekdays by focusing on hands-on and 5-6 hours on weekends by doing live lecture and practicing after lecture and will track my daily progress to stay consistent. Even on busy or low-energy days, I will ensure I do something small so that the learning period never breaks.
53 changes: 53 additions & 0 deletions 2026/day-02/linux-architecture-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
This is my Day-02 of my #90DaysOfDevOpschallenge

Today my task is to understand linux-architecture in depth

. But first I will explain what linux actually is then i'll move to tasks
Answer: Linux is an operating system just like windows or macOs
Linux is very powerful OS if a website is running 24/7 that means its usually running on OS Linux
Linux focuses on control, speed, and stability. Instead of focusing on looks
Linux works on ask architecture now many people say what is ask?

ASK is Application, Shell & Kernel

1. Application (What you want to do)
Applications are the programs you use.
Examples:
ls, cp, ps, nginx, docker, mysql
. Applications cannot directly talk to hardware.

2. Shell (How you ask)
The shell is the middleman.
Example:
bash, sh
What really happens:
. Shell reads your command
. Shell understands it
. Shell passes the request to the kernel
Think of shell as:
A translator between human language and system language

3. Kernel (Who actually does the work)
The kernel is a boss 👑
. It Talks to CPU, memory, disk, network
. Creates and manages processes
. Decides which app gets CPU
. Handles system things
Without kernel a linux System is nothing

A simple linux OS flow
You → Application → Shell → Kernel → Hardware

Now let's move to our Day-02 tasks

1. The core components of Linux (kernel, user space, init/systemd)
Answer: . The kernel is the core of Linux.it directly talks to hardware like CPU, memory, and disk.it manages processes and system resources.
. User space is where users and applications run. it includes commands, shells, and software like nginx or docker. user space requests services from the kernel
. Systemd is the core componet of Linux OS. systemd is the first process started when Linux restarts. It starts, stops, and manages system services. it keeps the system running and handles service failures.

2. How processes are created and managed
Answer: When you run a command or start an application in Linux, the system creates a process for it. Each process is given a unique ID so the system can tr ack it,the Linux kernel manages all processes by deciding when they run, how much CPU and memory they use, and when they should wait or stop.Once a process finishes its work, the kernel cleans it up and frees the system resources, keeping Linux stable and efficient.

3. What systemd does and why it matters
Answer: systemd is the first process that starts when Linux restarts and is responsible for starting, stopping, and managing system services. It ensures tha t important services run in the correct order and automatically restarts them if they fail. It matters because it keeps the system stable, helps
troubleshoot issues through logs, and ensures applications stay running in various environments.
73 changes: 73 additions & 0 deletions 2026/day-03/linux-commands-cheatsheet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
Today is Day 03 of #90DaysOfDevOpsChallenge

Today's task is about popular linux commands which we used in production enviornment
1. Process Management Commands
- Command Usage
```
ps = Show running processes
ps aux = Show all running processes
top = Real-time process monitoring
htop = Enhanced process viewer
pidof process = Get process ID
kill PID = Kill process by PID
kill -9 PID = Force kill process
pkill name = Kill process by name
uptime = Show system running time
free -h = Show memory usage
watch command = Run command repeatedly
```




2. 🗂️ File System Commands
- Command Usage
```
- ls = List files and directories
- ls -l = List files and permissions of file
- pwd = Show current directory path
- cd = Change directory
- mkdir Devops = Create a directory called Devops
- rm file = Delete a file
- rm -rf Devops = Force delete directory Devops
- cp src dest Copy file
- cp -r src dest Copy directory recursively
- mv src dest Move or rename file
- find /path -name file Find file by name
- du -sh * Show directory sizes
- df -h Show disk usage
```

3. 🌐 Networking & Troubleshooting Commands
- Command Usage
```
- ping google.com = Check network connectivity of google.com
- ip addr = Used to show IP addresses
- ip route = Show routing table
- ss -tuln = Show listening ports
- netstat -tulnp = Show ports with PID
- curl url = Test API or URL response
- wget url = Download file
- traceroute = Trace network path shows where failure happen
```
4. 📄 File Viewing & Text Utilities
- Command Usage
```
- cat (file) = View file content
- less (file) = Scroll file content
- head (file) -n 5 = View first 5 lines of file
- tail (file) = View last 5 lines of file
- tail -f (file) = Live log monitoring
- wc -l (file) = Count lines
- grep word (file) = Search text
```

5. 🔐 Permissions & Ownership
- Command Usage
```
- chmod 755 file = Change permissions to +x rw and rw
- chmod +x file = Make file executable
- chgrp = Change group
- chown = Change owner
```
- This cheatsheet commands is very useful in troubleshooting accessing files giving permissions & for process managment
97 changes: 97 additions & 0 deletions 2026/day-04/linux-practice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
Today is Day-04 of #90DaysOfDevopsChallenge

Today’s goal is to practice Linux fundamentals with real commands

1. Check running processes with output
Answer: a. ps
```
PID TTY TIME CMD
725 pts/0 00:00:00 bash
7695 pts/0 00:00:00 ps
```
b. top
```
top - 10:20:34 up 13 min, 1 user, load average: 0.38, 0.83, 0.79
Tasks: 139 total, 1 running, 138 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.2 us, 2.3 sy, 0.0 ni, 93.5 id, 0.2 wa, 0.0 hi, 1.8 si, 0.0 st
MiB Mem : 3600.8 total, 76.5 free, 2955.2 used, 764.1 buff/cache
MiB Swap: 1024.0 total, 561.0 free, 463.0 used. 645.5 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3363 root 20 0 1519436 235012 37852 S 6.3 6.4 1:12.76 kube-apiserver
2364 root 20 0 3057440 38044 11936 S 4.7 1.0 0:30.38 containerd
```
2. Inspect one systemd service
Answer: systemctl status nginx
```
ubuntu@LAPTOP-6F2K1CME:~$ systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Sat 2026-01-31 09:33:59 UTC; 48min ago
Docs: man:nginx(8)
Process: 233 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 247 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 260 (nginx)
Tasks: 9 (limit: 4312)
Memory: 5.6M ()
CGroup: /system.slice/nginx.service
├─260 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
├─262 "nginx: worker process"
```

3. Capture a small troubleshooting flow
Answer: journalctl -u nginx
```
ubuntu@LAPTOP-6F2K1CME:~$ journalctl -u nginx
Jan 18 08:10:11 LAPTOP-6F2K1CME systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy >
Jan 18 08:10:23 LAPTOP-6F2K1CME systemd[1]: Started nginx.service - A high performance web server and a reverse proxy s>
Jan 18 09:12:39 LAPTOP-6F2K1CME systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy >
Jan 18 09:12:40 LAPTOP-6F2K1CME systemd[1]: Started nginx.service - A high performance web server and a reverse proxy s>
-- Boot e117584ff66441df97f173806dee4589 --
```
. Tasks
1. process checks
- Command = ps aux | grep nginx
- Observation:
- Master and worker nginx processes are running
- nginx is active

2. Service checks
- Command = systemctl status nginx
- Observation:
- nginx service is active (running)
- Shows uptime and main PID

3. Log checks
- Command = journalctl -u nginx | tail -n 5
- Observation:
- Shows nginx startup logs
- Helpful to debug

4. Mini troubleshooting steps
- Scenario: NGINX service is down or website not loading

Step 1. Check service status
- systemctl status nginx


Step 2. Check nginx logs
- journalctl -u nginx | tail -n 5
- tail -n 5 /var/log/nginx/error.log


Step 3. Test nginx configuration
- nginx -t


Step 4. Restart nginx service
- sudo systemctl restart nginx


Step 5. Verify service is running
- systemctl status nginx

- Result:
- Configuration validated
- nginx service restarted successfully
- Website accessible again