diff --git a/2026/day-01/learning-plan.md b/2026/day-01/learning-plan.md new file mode 100644 index 000000000..dbb54de9c --- /dev/null +++ b/2026/day-01/learning-plan.md @@ -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. diff --git a/2026/day-02/linux-architecture-notes.md b/2026/day-02/linux-architecture-notes.md new file mode 100644 index 000000000..ba86d4f59 --- /dev/null +++ b/2026/day-02/linux-architecture-notes.md @@ -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. diff --git a/2026/day-03/linux-commands-cheatsheet.md b/2026/day-03/linux-commands-cheatsheet.md new file mode 100644 index 000000000..dc566c137 --- /dev/null +++ b/2026/day-03/linux-commands-cheatsheet.md @@ -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 diff --git a/2026/day-04/linux-practice.md b/2026/day-04/linux-practice.md new file mode 100644 index 000000000..2da4cbfa8 --- /dev/null +++ b/2026/day-04/linux-practice.md @@ -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