| کانال گنو/لینوکس |
2.82K subscribers
28 photos
2 videos
2 files
44 links
⭕️ کانال گنو/لینوکس دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
بکاپ داشتن تا وقتی لازم نشه به چشم نمیاد 😅 ولی یه بار دیسک مشکل پیدا کنه، تازه می‌فهمیم rsync و cron چه نعمتین.

امروز یه سناریوی کاملاً عملی رو می‌بینیم: تنظیم بکاپ خودکار از پوشه‌ی /home روی یه دیسک خارجی، فقط با ابزارهای استاندارد لینوکس (بدون هیچ نرم‌افزار فانتزی اضافی).

منبع ایده و رفرنس:
Arch Wiki - Rsync
GNU Cron

💡 ایده‌ی کلی
یه اسکریپت Bash کوچیک می‌نویسیم که با rsync فقط تغییرات رو کپی کنه (incremental backup) و با cron تنظیمش می‌کنیم هر شب خودش اجرا بشه.

🔧 نصب و تست سریع rsync
روی اکثر distroها پیش‌فرض نصبه. اگه نبود:

Debian/Ubuntu:
sudo apt install rsync


Fedora:
sudo dnf install rsync


یه تست ساده:
rsync -avh /etc/ /tmp/etc-backup-test


📝 اسکریپت بکاپ خودکار
فرض کنیم دیسک خارجی‌مون روی /mnt/backup مونت شده و می‌خوایم از /home بکاپ بگیریم.

#!/usr/bin/env bash

SOURCE="/home/"
DEST="/mnt/backup/home-backup/"
LOGFILE="/var/log/home-backup.log"

# اگه مقصد نبود بساز
mkdir -p "$DEST"

# اجرای rsync با چند گزینه‌ی مهم
rsync -avh \
--delete \
--exclude=".cache/" \
"$SOURCE" "$DEST" >> "$LOGFILE" 2>&1


چند نکته‌ی مهم:

-a : پرمیژن‌ها، owner، زمان‌ها و… رو حفظ می‌کنه (archive mode).
-v و -h : خروجی خوانا و دوست‌داشتنی‌تر.
--delete : فایل‌هایی که از /home حذف شدن، از بکاپ هم حذف می‌کنه؛ بکاپ رو sync نگه می‌داره. اگه می‌ترسه چیزی پاک شه، اول بدون این گزینه تست کن.
--exclude=".cache/" : کش‌های بی‌مصرف رو نبره توی بکاپ.

اسکریپت رو مثلاً ذخیره کن توی:
/usr/local/bin/home-backup.sh

و اجرایی‌اش کن:
sudo chmod +x /usr/local/bin/home-backup.sh


یه بار دستی اجراش کن که مطمئن شی درست کار می‌کنه:
sudo /usr/local/bin/home-backup.sh


زمان‌بندی با cron
برای root (چون معمولاً نیاز به دسترسی به همه‌ی homeها داریم):
sudo crontab -e

و این خط رو اضافه کن تا هر روز ۳ صبح اجرا شه:
0 3 * * * /usr/local/bin/home-backup.sh


توضیح سریع فرمت:
دقیقه ساعت روزِماه ماه روزِهفته

⚠️ چند تله‌ی معمول
• حتماً مطمئن شو دیسک روی /mnt/backup مونت شده؛ وگرنه ممکنه rsync توی خود دیسک root پوشه بسازه 😐
• قبل از اضافه‌کردن --delete همیشه یه بار بدون اون و با --dry-run تست کن:
rsync -avh --dry-run SOURCE DEST


نتیجه
با چند خط اسکریپت و یه cron job ساده، هر شب یه بکاپ مرتب از home داری که فقط تغییرات رو sync می‌کنه و هم سریع‌تره هم کم‌حجم‌تر.

امتحانش کن روی یه پوشه‌ی تست، لاگ رو ببین، بعد کم‌کم روی دیتای اصلی‌ات پیاده کن و تجربه‌ات رو با بقیه به اشتراک بذار 🌱

🔖 #Linux #لینوکس #Linux #Backup #rsync #cron #Bash #Sysadmin #Automation #GNU/Linux

👤 Developix

💎 Channel: @DevelopixLinux
8👍1
🧠 مدیریت حرفه‌ای تاریخچه دستورات با fc در Bash

گاهی یک دستور طولانی را اشتباه می‌زنی و فقط می‌خواهی همان را سریع اصلاح و دوباره اجرا کنی. به‌جای پیمایش با کلید ↑ تا مرگ 😄، از builtin قوی Bash یعنی fc استفاده کن.

ایده: fc یک یا چند دستور آخر را در editor دلخواهت باز می‌کند، اصلاح می‌کنی و بعد خودش اجرا می‌کند.

مثال ساده:
echo "sume data" > file.txt
# اوه، تایپو! باید "some" باشد
fc

این دستور، آخرین کامند را در editor پیش‌فرض (مثلاً vim یا nano) باز می‌کند، درست می‌کنی، ذخیره می‌کنی و بعد Bash نسخه اصلاح‌شده را اجرا می‌کند. 🚀

📌 چند کاربرد مفید:
# ویرایش ۳ دستور آخر
fc -3

# فقط نمایش بدون اجرا (برای چک کردن)
fc -nl -3


🔧 نکته: با تنظیم متغیر محیطی EDITOR می‌توانی editor موردعلاقه‌ات را انتخاب کنی:
export EDITOR=nano


برای جزئیات بیشتر:
مستندات رسمی Bash - بخش Builtins

امتحانش روی workflow روزمره خیلی حس سرعت و تمیزی بیشتری می‌دهد 🙂

🔖 #Linux #لینوکس #Linux #Bash #Shell #History #fc #CLI

👤 Developix

💎 Channel: @DevelopixLinux
👍4
🎯 سریع‌ترین راه پیدا کردن پوشه‌های سنگین با du + sort

وقتی دیسک نزدیک پر شدن است، گشتن دستی دنبال پوشه‌های چاق و چله واقعاً وقت‌گیر می‌شود. یک ترکیب ساده‌ی du و sort خیلی سریع نشان می‌دهد فضا دقیقاً کجا خورده شده است. 💽

این یک الگوی ساده و قابل‌حفظ است که روی اکثر توزیع‌ها کار می‌کند:

du -h --max-depth=1 /path | sort -h


🔍 توضیح کوتاه:
- du -h حجم‌ها را human-readable مثل 10M، 2G نشان می‌دهد.
- --max-depth=1 فقط زیرپوشه‌های سطح اول را لیست می‌کند (خروجی شلوغ نمی‌شود).
- sort -h بر اساس حجم (با K/M/G) مرتب می‌کند.

مثلاً برای بررسی /home:
du -h --max-depth=1 /home | sort -h


📌 نکات:
- روی مسیرهای سیستمی حساس بهتر است با sudo اجرا شود تا همه چیز را ببیند.
- اگر خروجی خیلی زیاد بود، می‌توان فقط ۲۰ مورد آخر را دید:
du -h --max-depth=1 / | sort -h | tail -n 20


👣 دفعه بعد که دیسک پر شد، قبل از panic همین الگو را اجرا کن و دقیقاً همان پوشه‌ی مشکل‌ساز را هدف بگیر.

📖 مرجع: man7.org/linux/man-pages/man1/du.1.html

🔖 #Linux #لینوکس #Linux #terminal #du #disk_usage #shell

👤 Developix

💎 Channel: @DevelopixLinux
👍2👎1
خیلی وقت‌ها یه سرویس روی سیستم بالا نمیاد یا کند می‌شه، و اولین جایی که باید سر بزنی لاگ‌هاست. روی سیستم‌های مدرن که از systemd استفاده می‌کنن، ابزار اصلی دیدن لاگ‌ها همون journalctl هست.

اینجا یه مرور سریع و کاربردی روی journalctl داریم؛ هم برای دیباگ، هم برای مانیتور سبک‌وزن لاگ‌ها.

منبع اصلی داک:
freedesktop.org/software/systemd/man/journalctl.html

🧩 ایده کلی
systemd-journald لاگ‌های کرنل، serviceها و حتی بعضی برنامه‌ها رو جمع می‌کنه و journalctl راه خواندن و فیلتر کردن این لاگ‌هاست. مزیتش اینه که همه‌چی یه‌جا جمعه و می‌تونی بر اساس unit، زمان، سطح لاگ و ... فیلتر بزنی.

🔍 دیدن لاگ یک سرویس مشخص
فرض کن سرویس nginx.service قاطی کرده. به‌جای گشتن تو چند تا فایل لاگ، مستقیم این رو بزن:

sudo journalctl -u nginx.service -e


سوییچ -u یعنی فیلتر روی همون systemd unit و -e می‌بردت آخر لاگ، شبیه tail.

📡 مانیتور لحظه‌ای لاگ (مثل tail -f)
وقتی می‌خوای یه کانفیگ جدید رو تست کنی، این خیلی می‌چسبه:

sudo journalctl -u nginx.service -f


-f یعنی هر چیزی جدیدی که لاگ شد رو زنده نشون بده. عالی برای وقتی که nginx -t می‌زنی یا داری reload می‌کنی.

⏱️ فیلتر زمانی لاگ‌ها
برای وقتی که می‌دونی مشکل از چه ساعتی شروع شده. مثلاً لاگ‌های امروز از ساعت 10 صبح:

sudo journalctl -u nginx.service --since "today 10:00"


یا مثلاً لاگ‌های ۲۴ ساعت اخیر کل سیستم:

sudo journalctl --since "-24 hours"


⚙️ یک نمونه ورک‌فلو واقعی دیباگ
سناریو: nginx بعد از تغییر کانفیگ بالا نمیاد.

1️⃣ وضعیت سرویس:
systemctl status nginx.service


2️⃣ دیدن لاگ‌های آخر برای خطا:
sudo journalctl -u nginx.service -e -n 50

-n 50 فقط ۵۰ خط آخر رو میاره که هم سریع‌تره هم خواناتر.

3️⃣ اگر Error مربوط به syntax بود، چک کانفیگ:
sudo nginx -t


معمولاً ترکیب systemctl status + journalctl همون چیزیه که واقعاً تو کار روزمره استفاده می‌شه.

🧹 مراقبت از حجم لاگ‌ها
روی بعضی سیستم‌ها، journal می‌تونه فضا ببلعه اگر تنظیمش نکرده باشی. یه نگاه سریع به وضعیت:

sudo journalctl --disk-usage


و اگر لازم شد تمیزکاری کنترل‌شده:

sudo journalctl --vacuum-time=7d


این دستور لاگ‌های قدیمی‌تر از ۷ روز رو پاک می‌کنه. حتماً قبلش --disk-usage رو ببین.

🌱 اگر تا حالا بیشتر با /var/log سر و کار داشتی، یه کم با journalctl بازی کن؛ چند تا سرویس روی سیستم خودت رو باهاش دیباگ کن. بعد از یکی‌دو بار استفاده، عملاً می‌شه ابزار روزمره‌ات برای فهمیدن "دقیقاً چی شد که خراب شد؟" 😉

🔖 #Linux #لینوکس #Linux #GNU/Linux #systemd #journalctl #logging #bash #sysadmin

👤 Developix

💎 Channel: @DevelopixLinux
3👍3
اسکریپت‌نویسی Bash یکی از مفیدترین مهارت‌ها برای هر کاربر گنو/لینوکس است. با چند خط کد می‌شود کارهایی مثل بکاپ، تمیز کردن لاگ‌ها، یا همگام‌سازی پوشه‌ها را کاملاً خودکار کرد. این پست یک مثال واقعی و قابل‌استفاده از یک اسکریپت بکاپ خانگی می‌دهد که می‌شود روی هر distro اجراش کرد. 🙂

ایده ساده است: چند پوشه مهم (مثلاً ‎~/Documents و ‎~/Projects) را با `tar` فشرده کنیم، اسم فایل را بر اساس تاریخ بگذاریم، و در یک مسیر امن ذخیره کنیم. بعداً می‌توان این اسکریپت را در `cron` یا `systemd timer` گذاشت تا خودکار اجرا شود.

این مثال با الهام از مستندات رسمی Bash و man pageهای `tar(1)` و `date(1)` نوشته شده (روی هر سیستم می‌شود با `man tar` و `help test` جزئیات بیشتر را دید).

اسکریپت نمونه:
#!/usr/bin/env bash

set -euo pipefail

SOURCE_DIRS=("$HOME/Documents" "$HOME/Projects")
BACKUP_DIR="$HOME/backups"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
BACKUP_FILE="$BACKUP_DIR/home-backup-$DATE.tar.gz"

mkdir -p "$BACKUP_DIR"

for dir in "${SOURCE_DIRS[@]}"; do
if [[ ! -d "$dir" ]]; then
echo "هشدار: پوشه $dir پیدا نشد، رد می‌شود." >&2
fi
done

# ایجاد آرشیو فشرده
tar -czpf "$BACKUP_FILE" \
--exclude="$HOME/.cache" \
"${SOURCE_DIRS[@]}"

echo "بکاپ ساخته شد: $BACKUP_FILE"


چند نکته مهم از دل این اسکریپت:

• ‎`set -euo pipefail` کمک می‌کند اسکریپت در صورت خطا فوراً متوقف شود و از باگ‌های عجیب جلوگیری می‌کند.

• از آرایه Bash برای لیست پوشه‌ها استفاده شده؛ اضافه کردن مسیر جدید فقط با ویرایش `SOURCE_DIRS` انجام می‌شود.

• با `--exclude` جلوی بکاپ شدن چیزهای بی‌مصرف (مثل ‎~/.cache) گرفته می‌شود؛ این کار فضا و زمان را به‌طرز محسوسی کم می‌کند.

برای استفاده عملی، فایل را مثلاً با نام `backup-home.sh` در ‎`~/bin` ذخیره و executable کنید:
chmod +x ~/bin/backup-home.sh


بعد می‌شود با اضافه کردن یک entry ساده در `crontab`، این بکاپ را مثلاً هر شب اجرا کرد (‎`crontab -e` را ببینید، طبق مستندات `man 5 crontab`).

این اسکریپت پایه خوبی است برای ساختن یک سیستم بکاپ جدی‌تر: می‌شود log اضافه کرد، روی remote server با `ssh` کپی کرد، یا rotation برای پاک کردن بکاپ‌های خیلی قدیمی گذاشت.

یک بار روی یک پوشه کوچک تست، بعد کم‌کم روی داده‌های مهم پیاده‌سازی شود و نسخه‌های مختلف امتحان شود. اگر به‌دردتان خورد، اسکریپت خودتان را با بقیه لینوکسی‌ها به اشتراک بگذارید. 🚀

🔖 #Linux #لینوکس #Linux #Bash #Shell #Backup #GNU/Linux #tar #cron

👤 Developix

💎 Channel: @DevelopixLinux
👍5
اگه همیشه چند تا ترمینال باز داری، بین ssh سرورها جابه‌جا می‌شی و هی پنجره‌ها گم می‌شن، tmux دقیقا همون چیزیه که زندگیت رو روی ترمینال راحت‌تر می‌کنه 😄

اینجا یه معرفی عملی و سریع از tmux بر اساس راهنمای رسمی:
https://github.com/tmux/tmux/wiki

🧱 tmux دقیقا چیه؟

tmux یه terminal multiplexerـه؛ یعنی توی یه ترمینال می‌تونی چند تا "پنجره" و "پن" (split) داشته باشی، سشن‌هات رو نگه داری، از ssh قطع بشی ولی پروسه‌هات زنده بمونن.

مثلا یه سشن برای لاگ‌ها، یکی برای ویرایش config و یکی برای اجرای scriptها؛ همه زیر یه اتصال ssh که اگه قطع هم بشه، چیزی نمی‌پره 👌

🛠 نصب سریع روی توزیع‌های مختلف

روی Debian/Ubuntu:
sudo apt update && sudo apt install tmux


روی Fedora:
sudo dnf install tmux


روی Arch:
sudo pacman -S tmux


بعد از نصب، فقط بزن:
tmux

و وارد اولین سشن خودت می‌شی.

📌 شروع کار: پنجره و پن‌ (split)

کلید اصلی tmux اینه:

Ctrl+b = prefix

یعنی هر کاری می‌خوای بکنی، اول Ctrl+b، بعد دکمه‌ی مورد نظر.

چندتا چیز کاربردی روزمره:

• ساخت پن جدید افقی:
Ctrl+b بعد "

• ساخت پن عمودی:
Ctrl+b بعد %

• جابه‌جایی بین پن‌ها با جهت‌ها:
Ctrl+b + کلیدهای جهت (← ↑ → ↓)

• ساخت پنجره (window) جدید:
Ctrl+b بعد c

• جابه‌جایی بین پنجره‌ها:
Ctrl+b بعد n (بعدی) یا p (قبلی)

یه مثال واقعی: مانیتور لاگ + ویرایش کانفیگ

سناریو کلاسیک sysadmin:

۱) با ssh وصل شو به سرور.
۲) tmux رو اجرا کن:
tmux

۳) پن رو عمودی split کن (بالا لاگ، پایین ویرایش):

بالا:
journalctl -u nginx -f


پایین: فایل کانفیگ nginx رو ویرایش کن:
sudo vim /etc/nginx/nginx.conf


همزمان لاگ‌ها رو live می‌بینی و config رو تغییر می‌دی، بدون نیاز به چند تا ترمینال جدا.

🔁 جدا شدن و دوباره وصل شدن به سشن

قلب ماجرا این‌جاست. وسط کار اگه نت قطع بشه یا ssh ببنده، tmux سشن‌ت زنده می‌مونه.

• جدا شدن (detach):

Ctrl+b بعد d

حالا می‌تونی ssh رو ببندی، بعدا که برگشتی:
tmux attach

همون جایی میای که کار رو رها کرده بودی، لاگ، vim، هرچی.

🧩 یه config ساده و مفید

اگه دوست داری کلید prefix رو مثل screen یا راحت‌تر کنی، مثلا Ctrl+a، یه فایل ~/.tmux.conf بساز:

set -g prefix C-a
unbind C-b
bind C-a send-prefix


بعد tmux رو از داخلش با این دستور reload کن:

tmux source-file ~/.tmux.conf


از اینجا به بعد، prefix می‌شه Ctrl+a.

چند نکته ریز ولی مهم

• اگه چند تا سشن داری، لیستشون:
tmux ls


• attach به یه سشن مشخص:
tmux attach -t mysession


• ساخت سشن با اسم مشخص، مخصوصا برای هر پروژه:
tmux new -s myproject


🌱 جمع‌بندی

اگه زیاد با ssh، لاگ‌ها، build طولانی یا کارهای شبانه‌روزی روی سرور سروکله می‌زنی، tmux یکی از اون ابزارهایی‌ه که بعد از یه مدت بدونش واقعا سخته کار کردن.

یه سشن ساده بساز، دو سه تا split试 کن و کم‌کم بذار عضوی از workflow روزمره‌ات بشه. بعدا هر ترفند جدیدی یاد گرفتی، به بقیه هم منتقل کن 🙌

🔖 #Linux #لینوکس #Linux #tmux #Terminal #Shell #Sysadmin #GNU/Linux

👤 Developix

💎 Channel: @DevelopixLinux
🔥5
💠 نسخه جدید کرنل لینوکس (Linux) منتشر شده است

🔸 ارتقا از نسخه 7.0.12 به 7.1.0

🔹 لیست تغییرات این نسخه:
- اصلاح باگ‌های مهم KVM روی معماری arm64
- بهبود سازگاری و انطباق کنترلرهای USB SuperSpeed
- رفع مشکل دستگاه‌های شبح USB روی پورت‌های دوحالته Tegra
- پایداری بهتر لینک QSGMII در PHYهای LAN8814
- افزایش ایمنی دسترسی‌های PMBus/GPIO در درایور ADM1266
- بهبودهای ریز متعدد درایورها و زیرسیستم‌ها و غیره

🔖 #linux, #linux, #release

💎 @DevelopixLinux
6🔥2👍1
Forwarded from Developix Support
This media is not supported in your browser
VIEW IN TELEGRAM
🏆آفرهای جام جهانی ۲۰۲۶ هاست‌ایران فعال شد!

با کمپین «ترکیب برنده سایتت»، زیرساخت سایتت رو برای روزهای پرترافیک آماده کن:

🔥 ۲۵٪ تخفیف روی پلن‌های ۳ ماهه هاست اشتراکی ایران
۵۰٪ تخفیف روی پلن‌های یک‌ماهه سرویس ابری در دیتاسنترهای تهران، مشهد و اهواز

🧠 مشاوره رایگان زیرساخت توسط کارشناسان هاست‌ایران
فرصت استفاده از تخفیف‌ها و ثبت فرم مشاوره محدود است.

📌 برای کپی کدهای تخفیف و ثبت‌نام در فرم مشاوره، روی لینک زیر کلیک کنید:

📌صفحه فرم مشاوره
📌تلگرام هاست‌ایران
📌بله هاست‌ایران


#هاست_ایران #سرور_ابری_هاست_ایران #هاست_اشتراکی #دیتاسنتر #مشاوره_زیرساخت #جام_جهانی2026
1
خیلی وقت‌ها توی گنو/لینوکس لازم می‌شه یک کار تکراری رو روی چند تا فایل یا چند تا مقدار انجام بدیم؛ مثلا چند بار یک دستور رو با ورودی‌های مختلف اجرا کنیم. این‌جا یک ترفند خیلی ساده با حلقهٔ for و here-string توی Bash کمک بزرگی می‌کنه. 😎

فرض کن لازم باشه روی سه تا سرور یا سه تا فایل، یک دستور مشابه اجرا بشه؛ به‌جای کپی‌پیست پشت‌سرهم:

for name in app1 app2 app3; do
echo "Building $name ..."
make "$name"
done


یک الگوی خیلی کاربردی دیگه برای دستورهایی مثل ping یا ssh:

while read host; do
echo "Checking $host ..."
ping -c 1 "$host" && echo OK
done <<EOF
server1
server2
server3
EOF


این مدل حلقه‌ها:
• خطاهای تایپی تکراری رو کم می‌کنن.
• اسکریپت‌هات رو قابل‌تغییر و قابل‌توسعه‌تر می‌کنن.

امتحان روی یک کار کوچیک روزمره، خیلی زود عادت می‌شه و سرعت کار با ترمینال رو بالا می‌بره. 🚀

منبع: Bash Manual – Loops

🔖 #Linux #لینوکس #Linux #Bash #Shell #Loop #CLI #Scripting

👤 Developix

💎 Channel: @DevelopixLinux
🔥43
🧲 فیلتر کردن خروجی‌های شلوغ با grep و less

خیلی وقت‌ها خروجی یه دستور توی ترمینال انقدر زیاده که پیدا کردن چیز موردنظر عذاب می‌شه. یه ترکیب ساده با grep و less هم سرعت می‌ده هم چشم رو خسته نمی‌کنه 😄

ایده: خروجی رو هم‌زمان هم فیلتر کن، هم قابل اسکرول نگه دار.

مثال کاربردی برای دیدن فقط خط‌های مربوط به error توی dmesg:
dmesg | grep -i "error" | less -R


یا دیباگ سریع لاگ nginx:
sudo tail -f /var/log/nginx/error.log | grep --line-buffered 500


🔍 نکات مهم:
- -i توی grep یعنی case-insensitive بودن.
- --line-buffered باعث می‌شه خروجی استریم مثل tail -f با تاخیر نیاد.
- less -R رنگ‌ها (ANSI colors) رو حفظ می‌کنه.

این ترکیب توی لاگ‌خوانی، دیباگ سریع و مانیتورینگ لحظه‌ای خیلی کمک می‌کنه. دفعهٔ بعد که با یه خروجی چندصد‌خطی روبه‌رو شدی، فقط آروم پایپ‌ها رو بچین و تمرکز رو بذار روی همون چیزی که مهمه 🧪

🔗 مرجع: man grep

🔖 #Linux #لینوکس #linux #terminal #grep #less #logs #debugging #shell

👤 Developix

💎 Channel: @DevelopixLinux
👍8
💠 نسخه جدید توزیع دبیان (Debian) منتشر شده است

🔸 ارتقا از نسخه 13.5.0 به 13.6.0

🔖 #debian, #linux, #release

💎 @DevelopixLinux
7🔥2👍1
Forwarded from Developix Support
با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀

با خرید اولین سرور ابری غیرساعتی از **هاست‌ایران**، بسته ترافیک هدیه مهاجرت به‌صورت خودکار برای سرویس شما فعال می‌شود:

حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
ترافیک آپلود رایگان
بدون محدودیت زمانی

سرور ابری هاست‌ایران را راه‌اندازی کنید و بکاپ‌ها، فایل‌ها و پایگاه داده خود را بدون دغدغه هزینه‌های پنهان ترافیک منتقل کنید.

👇 مشاهده پلن‌های سرور ابری هاست‌ایران
hostiran.club/Migration
hostiran.club/Migration
Forwarded from Developix Support
🗺 نقشه گنج | بهترین مسیرهای یادگیری بعد از +Network

دوره +Network فقط شروع مسیره؛ اما سوال خیلی‌ها بعد از گذروندن این دوره اینه که:
حالا کدوم مسیر رو ادامه بدم؟ 🤔

شبکه؟ امنیت؟ سرور؟ لینوکس؟ Cloud؟ DevOps؟

در ایونت آنلاین روز یکشنبه بررسی می‌کنیم:
🔹 بعد از +Network چه مسیرهایی پیش روی توئه
🔹 هر مسیر برای چه افرادی مناسب‌تره
🔹 برای ورود به هر حوزه چه مهارت‌هایی لازمه

پس اگر بعد از +Network نمی‌دونی قدم بعدی چیه، این ایونت می‌تونه مسیرت رو روشن‌تر کنه!📍

📅11 مرداد | ساعت 19:30
💻 آنلاین و رایگان
👤با استاد حسام‌الدین موسوی‌زاده

برای شرکت در ایونت جزو اولین نفرات رزرو کن:
(بدون VPN وارد شو)
🔗https://l.cando.ac/ev-net101

🌻 آموزشگاه مهندسی کندو | We CanDo IT
@cando_ac
3
روی سرور یا سیستم شخصی ناگهان همه‌چیز کند می‌شود، فن‌ها جیغ می‌زنند و فقط یک سوال توی ذهن می‌چرخد: «چی داره این‌همه CPU و Disk می‌خوره؟» 🤯

دو تا ابزار ساده و خیلی کاربردی برای همین موقع‌ها هست: htop و iotop. نسخهٔ ارتقایافتهٔ top و یک مانیتور قشنگ برای I/O دیسک.


۱️⃣ نصب روی توزیع‌های مختلف

Debian/Ubuntu:
sudo apt update
sudo apt install htop iotop


Fedora:
sudo dnf install htop iotop


Arch:
sudo pacman -S htop iotop



۲️⃣ htop: دید سریع از پردازه‌ها و منابع ⚙️

با اجرای سادهٔ htop یک نمای رنگی و زنده از سیستم می‌بینی:

• نوارهای رنگی بالای صفحه: مصرف CPU، RAM، Swap به‌صورت ریل‌تایم.
• لیست پردازه‌ها با رنگ‌بندی: پروسه‌های پرمصرف سریع به چشم می‌آیند.

چند کلید خیلی کاربردی:

F6 برای تغییر sort (مثلاً بر اساس %CPU یا %MEM).
F3 برای جست‌وجوی نام پروسه (مثلاً «firefox»).
F9 برای ارسال سیگنال (مثلاً KILL) به پروسه‌ای که گیر کرده.

یه ترفند خوب: وقتی سیستم کند می‌شه، htop رو باز کن و sort رو بذار روی %CPU یا TIME+ تا ببینی کدوم سرویس از صبح تا حالا داره می‌جوه و ول نمی‌کنه 🙂


۳️⃣ iotop: وقتی مشکل از دیسکه، نه CPU 💽

خیلی وقت‌ها CPU بیکاره ولی سیستم لَگ داره؛ معمولاً مشکل از I/O دیسکه.

با این دستور می‌تونی پردازه‌هایی که دیسک رو له کرده‌اند ببینی:

sudo iotop -o -P


• سوییچ -o فقط پردازه‌هایی رو که واقعاً الان I/O دارن نشون می‌ده (خروجی تمیزتر).
• سوییچ -P نمایش per-process (به‌جای per-thread) رو فعال می‌کنه.

ستون‌های مهم:
DISK READ و DISK WRITE: سرعت خوندن/نوشتن هر پروسه.
SWAPIN: اگر این بالا باشه یعنی سیستم داره زیاد swap می‌کنه و احتمالاً RAM کمه.


۴️⃣ یک سناریوی واقعی: پیدا کردن سرویس دردسرساز 🔍

فرض کن روی یک سرور backup شبانه فعال شده و صبح سرور افتضاح کند شده. کاری که معمولاً انجام می‌شه:

1. با htop نگاه می‌کنی ببینی CPU رو کی می‌خوره (مثلاً یک tar یا gzip سنگین).
2. هم‌زمان با sudo iotop -o -P چک می‌کنی کدوم پروسه دیسک رو ۱۰۰٪ گرفته (مثلاً یک اسکریپت backup اشتباه کانفیگ شده).
3. اگر لازم شد، با F9 در htop به‌صورت کنترل‌شده kill می‌کنی و بعد سر فرصت اسکریپت رو اصلاح می‌کنی.


۵️⃣ مستندات رسمی برای کندوکاو بیشتر 📚

man pageها همیشه دوستت هستن:
man htop
man iotop


برای جزئیات کامل‌تر htop می‌تونی به پروژهٔ اصلیش هم سر بزنی:
htop.dev


در اولین فرصت که سیستم یه کم سنگین شد، این دو تا ابزار رو اجرا کن و چند دقیقه باهاشون بازی کن؛ بعد از یکی دو بار استفاده، تبدیل می‌شن به اولین چیزی که در هر کندی سیستم سراغش می‌ری 🚀

🔖 #Linux #لینوکس #Linux #htop #iotop #Monitoring #Sysadmin #CLI #GNU/Linux

👤 Developix

💎 Channel: @DevelopixLinux
👍6