مدیریت سرورهای بر پایه لینوکس معمولا از طریق SSH انجام می شود و کسانی که با ویندوز کار می کنند باید از نرم افزارهای کمکی استفاده کنند که مشهورترین و آسانترین نرم افزار ، نرم افزاز Putty میباشد که ابتدا باید این نرم افزار را روی کامپیوتر خود نصب کنید.
SSH مخفف عبارت Secure Socket Shell است. یک پروتکل اینترنتی که کمک میکند دو کامپیوتر، از طریق روشی امن، روی یک شبکه ناامن به یکدیگر متصل شوند.
طریقه وصل شدن به SSH
ابتدا putty را از اینجا دانلود و نصب کنید .
پس از اجرا پنجره تنظیمات آن جهت اتصال به سرور نمایان می شود.
در قسمت Hostname or IP address آی پی و یا Hostname سرور و یا VPS را بنویسید.
و در مقابل آن پورت مورد نظر برای اتصال را وارد کنید که در سرور های لینوکس این پورت به صورت پیشفرض 22 می باشد و همچنین پورت اتصال برای مدیریت Hypervm به صورت پیشفرض 3131 می باشد.
قسمت Protocol را بر روی SSH گذاشته و سپس بر روی Open کلیک کنید.
سپس در پنجره باز شده نام کاربری را که معمولا root می باشد را به همراه رمز عبور وارد کنید.
و به مدیریت سرور بپردازید.
آموزش نصب اکستنشن gmp در Php
ابتدا آخرین نسخه این افزونه را از لینک زیر دانلود نمایید:
https://gmplib.org/
سپس اقدام به نصب و کامپایل آن نمایید:
cd /usr/local/directadmin/custombuild/
wget https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2
tar xvvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
./configure ;make;make install
پس از نصب لازم است که تغییراتی در فایل config php ایجاد شود و سپس مجدد php build شود. حال وارد مسیر زیر شده
cd /usr/local/directadmin/custombuild/configure/
مطابق php handler نصب شده در سرور وارد دایرکتوری مربوطه شده، در حال حاضر بیشتر هندلر ها از suphp استفاده می کنند لذا وارد این پوشه شده
cd suphp/
مطابق نسخه Php خود فایل مورد نظر را با nano باز نمایید:
nano configure.php5
بین خطوط میانی این فایل عبارت زیر را وارد نمایید:
“–with-gmp” \
فایل را ذخیره و php را مجدد کامپایل نمایید.
cd /usr/local/directadmin/custombuild
screen ./build php –n
آموزش نصب پایتون python در لینوکس
نصب پایتون در Centos
ابتدا دستورات زیر را اجرا کنید.
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel
yum install libffi-devel
آخرین نسخه python را از اینجا دانلود نموده و جایگزین مسیر ذکر شده در دستور wget نمائید.(توجه داشته باشید در دستورات زیر آخرین نسخه جایگزین3.7.1کنید)
cd /usr/src/
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar zxvf Python-3.7.1.tgz
cd Python-3.7.1
./configure –enable-optimizations
make
make altinstall
با توجه به این که نسخه ی نصب شده ی پیش فرض روی سیستم عامل گلینوکس نسخه ی 2 است، در صورتی که صرفا دستور python را تایپ کنیم نیز نسخه ی 2 زبان پایتون در معرض دید ما قرار خواهد گرفت اما اگر به هر حال بخواهیم در دستور خود نسخه ی مد نظر را نیز بگنجانیم، می توانیم از دستورات python2 برای نسخه ی قدیمی پایتون و python3 و یا python3.x —version(بجای 3.x نسخه مورد نظر نیاز است درج شود) برای نسخه ی جدید پایتون به علاوه version– استفاده کنیم.
python –version
python2 –version
python3 –version
خروجی دستورات فوق به ترتیب به صورت زیر خواهد بود:
Python 2.7.0
Python 2.7.0
Python 3.7.0
پیدا کردن فایلهای حجیم در سرورهای لینوکس از طریق SSH
پس از اتصال به سرور شما ابتدا نیاز است که از کد دستوری df -h استفاده کنید و وضعیت هارد سرور و درصد فضای اشغال شده از هارد را مورد بررسی قرار دهید.
در توزیع های RedHat / CentOS / Fedora از دستور زیر استفاده کنید:
“find {/path/to/directory/} -type f -size +{size-in-kb}k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’
برای پیدا کردن فایلهای بیش از ۵۰MB در پوشه فعلی از دستور زیر استفاده کنید:
$ find . -type f -size +50000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’
جهت جستجو در پوشه /var/log/ از دستور زیر استفاده کنید:
# find /var/log -type f -size +100000k -exec ls -lh {} \; | awk ‘{ print $9 “: ” $5 }’
در توزیع های Ubunto / Linux از دستور زیر استفاده کنید:
find {/path/to/directory} -type f -size +{file-size-in-kb}k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’
و برای جستجو در پوشه فعلی:
$ find . -type f -size +10000k -exec ls -lh {} \; | awk ‘{ print $8 “: ” $5 }’
نمونه خروجی:
./.kde/share/apps/akregator/Archive/http___blogs.msdn.com_MainFeed.aspx?Type=AllBlogs.mk4: 91M
./out/out.tar.gz: 828M
./.cache/tracker/file-meta.db: 101M
./ubuntu-8.04-desktop-i386.iso: 700M
./MSH/out/mp3/Shadmani: 230M
دستورات فوق فایلهایی را که بیش از ۱۰۰۰۰ کیلوبایت حجم دارند را نمایش می دهند.
جهت پیدا کردن کلیه فایلهایی که در پوشه Home هستند و حجم آنها کمتر از ۵۰۰ بایت می باشد از دستور زیر استفاده کنید:
$ find $HOME -size -500b
یا
$ find ~ -size -500b
برای پیدا کردن فایلهایی که حجم آنها دقیقا ۲۰ بلوک ۵۱۲ بایتی می باشد از دستور زیر استفاده کنید:
# find / -size 20
حذف فایل و فولدرها از طریق ssh
گاهی شما نیاز پیدا میکنید برخی فایل ها یا فولدرها رو از سرور یا سرور مجازی حذف کنید و اینکار را براحتی میتوانید از طریق اس اس اچ با دستور زیر انجام دهید :
کد:
rm
این دستور بنظر ساده و آسان است ولی بسیار کاربردی می باشد.به مثال زیر توجه کنید :
کد:
rm myFile.txt myFile1.txt myFile2.txt …etc…
باید از طریق ssh وارد پوشه مورد نظر بشوید و فایل ها و فولدرهای دلخواه را مانند بالا وارد کنید و حذف کنید.اما وارد کردن نام همه فایل ها و فولدرهای موجود در یک پوشه وقت گیر است و خوشبختانه دستور (command) فوق یعنی rm چند arguments و روش دیگر برای راحتی استفاده دارد.
به مثال زیر دقت کنید :
کد:
rm myFile*.txt
در مثال بالا تمام فایل های موجود در پوشه مورد نظر را که با myFile شروع شده اند و دارای پسوند .txt هستند رو میتوان یکجا حذف کرد.
برای پاک کردن یک پوشه و محتویات آن میتوانید از دستور زیر استفاده کنید :
کد:
rm -rf foldername/
توجه داشته باشید که در دستور بالا فولدر و محتویان آن کلا حذف میشود و باید با دقت استفاده کنید.
برای حذف تمامی فایل ها و فولدرهای موجود در دایرکتوری جاری (دایرکتوری که در آن هستید) میتوانید از دستور زیر استفاده کنید :
کد:
rm -rf *
این دستورات با اینکه ساده و کاربردی هستند اگر اشتباها استفاده کنید خطرناک نیز هستند و ممکن است دچار مشکل شوید پس حتما قبل از اجرا دقیقا مطمئن شوید دایرکتوری و فایل ها رو برای حذف درست انتخاب کرده اید !
ساخت پوشه جدید
برای ساخت یک پوشه (Folder) جدید در پوشه فعلی (Current Working Directory)، می توانیم دستور mkdir را به کار ببریم.
برای این منظور، دستور mkdir به صورت زیر به کار می رود :
mkdir parsfre
که در آن، نام پوشه (Folder) جدید که ساخته می شود را برابر parsfre انتخاب کرده ایم.
نکته:
با دستور chown می توانیم موارد UID و GID مربوط به پوشه ساخته شده (و یا حتی فایل ها و پوشه های درون آن، اگر قبلا فایل ها و پوشه هایی را در آن قرار داده اید) را به کاربر (User) دیگری بدهیم (برای امکان استفاده و دسترسی آن کاربر) (دستور زیر برای کاربر با نام myuser) :
chown -R myuser:myuser parsfre
تعمیر جداول دیتابیس
دلایل کرش دیتابیس در Mysql
1- پر شدن فضای سرور
2- وجود مشکل در سیستم عامل
3- مشکل برق
4- مشکل سخت افزاری
5- متوقف شدن ناگهانی سرویس Mysql
پیش از شروع فرایند تعمیر جداول دیتابیس باید از دیتابیس خود بکاپ تهیه نمایید.
پس از ورود به سرور از طریق ssh با استفاده از دستور زیر سرویس Mysql را متوقف کنید.
Ubuntu and Debian
service mysql stop
CentOS and Fedora
service mysqld stop
سپس دستور زیر را اجرا نمایید:
cp -rfv /var/lib/mysql /var/lib/mysql.bak
با اجرای دستور فوق یک بک آپ از پوشه Mysql سرور شما که شامل تمامی دیتابیس ها می باشد در پوشه mysql.bak ذخیره می شود.
توجه: با اجرای دستور فوق و ذخیره بک آپ، از تغییر نسخه Mysql خودداری نمایید چرا که با تغییر نسخه Mysql امکان استفاده از بک آپ موجود در پوشه Mysql.bak وجود نخواهد داشت.
در نهایت با دستور زیر سرویس Mysql را مجدد راه اندازی نمایید:
Ubuntu and Debian
service mysql start
CentOS and Fedora
service mysqld start
پس از اینکه از اطلاعات دیتابیس بک آپ تهیه کردید می توانید جهت تعمیر دیتابیس اقدام نمایید.
تعمیر جداول دیتابیس چه مدت زمان بر است؟
زمان تعمیر جداول دیتابیس بستگی به حجم دیتابیس شما نیز دارد. اگر حجم دیتابیس در حد کیلوبایت باشد سریعا انجام می شود، اگر مگابایت باشد، چند دقیقه زمان بر خواهد بود و اگر حجم دیتابیس شما گیگابایت باشد، چندین ساعت باید منتظر بمانید. هر چقدر حجم دیتابیس بیشتر باشد زمان بیشتری هم صرف تعمیر جداول آن خواهد شد. هرچند که این مدت زمان به میزان رم سرور و قدرت سی پی یو سرور شما هم بستگی دارد.
تعمیر جداول دیتابیس از طریق SSH
پس از ورود به Mysql server از طریق SSH دستور زیر را اجرا نمایید:
mysqlcheck -r database name
در نظر داشته باشید که به جای database name باید نام دیتابیس خود را وارد کنید.
مشکل Disk quota در directadmin
System Quotas is extremely large
در صورتی که حجم مصرف شده هاست شما کمتر از میزان نشان داده شده در Directadmin می باشد برای رفع این مشکل باید وارد مسیر زیر شوید:
cd /usr/local/directadmin
دستور زیر را اجرا نمایید:
echo “action=tally&value=username&type=user” >> data/task.queue
بجای username نام کاربری اکانت مورد نظر را وارد کنید.
برای debug فرایند انجامی دستور زیر را می توانید اجرا نمایید:
./dataskq d800
برای بروز شدن حجم تمام اکانت های روی سرور دستورات زیر را اجرا نمایید:
repquota /
/usr/sbin/repquota /home
/sbin/quotaoff -a; /sbin/quotacheck -avugm; /sbin/quotaon -a;
echo “action=tally&value=all” >> /usr/local/directadmin/data/task.queue
حذف تمام ایمیل های در صف ارسال Exim
Exim Remove all message from Queue
برای نمایش تعداد پیغام های موجود در صف:
exim –bpc
نمایش لیست تمام پیغام ها:
exim -bp
برای حذف یک پیغام خاص از صف ارسال:
exim -Mrm {message-id}
برای حذف تمام پیغام های صف ارسال:
exim -bp | awk ‘/^ *[0-9]+[mhd]/{print “exim -Mrm ” $3}’ | bash
و یا
exim -bp | exiqgrep -i | xargs exim -Mrm
دستورات کاربردی مانیتورینگ سرور های لینوکس
به یک ابزار رابط کاربری گرافیکی خوب برای MySQL نیاز دارید؟ TablePlus یک ابزار مدرن و بومی با رابط کاربری زیبا است که به شما امکان می دهد چندین پایگاه داده مانند MySQL، PostgreSQL، SQLite، Microsoft SQL Server و غیره را به طور همزمان مدیریت کنید.
Not on Mac? Download TablePlus for Windows.
On Linux? Download TablePlus for Linux
Need a quick edit on the go? Download TablePlus for iOS.