CENTOS

چگونه مدیریت Rule های فایروال را در CentOS 7 انجام دهیم؟

3.7kviews

در مدیریت Rule های فایروال را در CentOS 7، شما نیاز دارید که با فایروال آشنا شوید برای آشنایی با فایروال CentOS 7 با مقاله زاگریو همراه باشید.
در این مقاله ما می‌خواهیم درباره اضافه و حذف Rule های اساسی فایروال بحث کنیم. این Rule ها به شما اجازه می‌دهند به خدماتی که در حال اجرا بر روی سرور است دسترسی داشته باشید.

هشدار: هنگامی که با یک سرور Remote کار می‌کنید و تنظیمات فایروال آن را مدیریت می‌کنید، باید مراقب باشید که از سرور خارج نشوید. مثلا اگر پورت ۲۲ که مربوط به SSH است را ببندید دیگر نمی‌توانید از طریق SSH به سرور دسترسی داشته باشید. برای این مواقع شما می‌توانید تگ دائمی (permanent flag) را حذف کنید که در صورت مواجه با همچین مشکلی با Reboot کردن سرور Rule هایی که ایجاد کرده‌اید حذف می‌شوند.

چگونه Rule های فایروال را در CentOS 7 مدیریت کنیم

به طور کلی در نرم افزار فایروال سه منطقه وجود دارد؛ Domain Profile ،Private Profile ،Public Profile.
منطقه Domain Profile برای زمانی‌که کامپیوتر شما عضو دامنه یک شرکت بزرگ است استفاده می‌شود. منطقه Private Profile برای یک شبکه خصوصی محلی استفاده می‌شود و منطقه Public Profil برای زمانی استفاده می‌شود که کامپیوتر شما عضو یک شبکه محلی عمومی باشد. در CentOS7 منطقه پیش‌فرض فایروال “Public” است. شما می‌توانید این مسیر را به /etc/firewalld/firewalld.conf تغییر دهید. اما در حال حاضر ما با توجه به اهداف مقاله همان منطقه “Public” را در نظر می‌گیریم.

مدیریت سرور

باز کردن پورت‌های فایروال CentOS 7:

برای باز کردن پورت ۸۰ (Http) در فایروال، شما می‌توانید از دستور زیر استفاده کنید.

firewall-cmd --permanent --zone=public --add-port=80/tcp

نکته: در دستور بالا با حذف تگ Permanent در صورت مواجه با مشکل با Reboot کردن سیستم Rule هایی که ایجاد کرده‌اید حذف می‌شوند.

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

firewall-cmd –reload

تایید Rule های فایروال CentOS 7:

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

firewall-cmd --zone=public --query-port=80/tcp

ایجاد Rule ها با استفاده از نام سرویس‌ها:

متناوبا شما می‌توانید با استفاده از نام سرویس‌ها Rule ها را ایجاد کنید:

firewall-cmd --permanent --zone=public --add-service=http

اکنون می‌توانید با دستور زیر تغییرات را اعمال نمائید:

firewall-cmd –reload

بررسی پورت سرویس‌های باز شده:

firewall-cmd --zone=public --query-service=http

مثال‌های واقعی:

این مراحل یک ورودی دائم از پیکربندی فایروالتان ایجاد می‌کنید که ورودی اتصالات TCP به پورت ۸۰ TCP از اینترنت را اجازه می‌دهد.

با استفاده از دستور “firewall-cmd –list-all”می‌توانید تنظیمات اخیر فایورال خود را مشاهده کنید.

مثال:

firewall-cmd --list-all

public (default, active)
interfaces: eth0 eth1
sources:
services: ssh
ports: 80/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

برای حذف Rule یا سرویسی که اضافه کرده‌اید:

firewall-cmd --zone=public --remove-port=80/tcp

یا

firewall-cmd --zone=public --remove-service=http

سپس با استفاده از دستور زیر از اعمال تغییرات مطمئن شوید:

firewall-cmd –reload

فایروال اجازه می‌دهد که راحت و آسان قوانین فایروال CentOS7 را مدیریت کنید. با کمی تمرین می‌تواند ابزاری مطمئن و امن برای حفظ زیرساخت‌های خود داشته باشید.

زاگریو

نحوه پیدا کردن فایل‌های حجیم در سرورهای لینوکس از طریق SSH

نحوه پیدا کردن فایل‌های حجیم در سرورهای لینوکس از طریق SSH

4.1kviews

در مرکز آموزش زاگریو قصد داریم به بررسی نحوه پیدا کردن فایل‌های حجیم در سرورهای لینوکس از طریق SSH رسیده و دستورات آن را به شما بگوییم.

دستورات لازم | بررسی نحوه پیدا کردن فایل‌های حجیم در سرورهای لینوکس

دستور خاصی جهت پیدا کردن فایل‌های حجیم در سیستم عامل‌های لینوکس وجود ندارد، با این حال شما می‌توانید با استفاده از دستور find به همراه برخی از امکانات Shell به مقصود خود دست یابید.

SSH

  • در توزیع های 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

نحوه بک‌ آپ‌ گیری و ریستور کردن بانک اطلاعاتی از طریق SSh

3.8kviews

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

نحوه بک‌ آپ‌ گیری و ریستور کردن بانک اطلاعاتی از طریق SSh

برای این‌که بتوانید از بانک اطلاعاتی خود بک‌ آپ‌ گیری انجام دهید و یا ریستور بک‌ آپ را انجام دهید از طریق ssh به سرور خود لاگین نمائید.

بک‌ آپ‌ گیری

برای بک‌ آپ‌ گیری از دیتابیس دستور زیر را وارد کرده و Enter کنید:

 

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

برای ریستور کردن دیتابیس دستور زیر را وارد نمائید:

 

mysql -u root -p[root_password] [database_name] < dumpfilename.sql
در دستورات بالا در قسمت root_password باید پسورد دیتابیس موردنظر و در قسمت database_name نام دیتابیس و در قسمت dumpfilename.sql فایلی را که می‌خواهیم از آن بک‌آپ تهیه کنیم با ریستور کنیم را وارد می‌کنیم.
نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

7.6kviews

در این مطلب، قصد داریم تا در مورد نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH، در مرکز آموزش زاگریو صحبت کنیم، تا به شما در زیپ و آنزیپ کردن فایل‌هایتان کمک کنیم.

نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

در ادامه به بررسی این مورد به وسیله SSH خواهیم پرداخت :

نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

مطالعه این مقاله را نیز از دست ندهید : 

دستورات مفید SSH برای مدیریت CFS

1. ابتدا از طریق نرم‌افزار Putty و یا Terminal به سرور خود متصل شوید.

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

# zip -r myarchive.zip myfolder

این دستور یک آرشیو ZIP شده از تمامی فایل‌ها و sub directorie ها ایجاد می‌کند.

2.  به سرور می‌گوید که تمامی فایل‌ها و sub directorie را شامل شود.

  • myarchive.zip: نام پوشه ZIP شده که می‌خواهیم ایجاد کنیم.
  • myfolder: نام پوشه‌ای که می‌خواهیم آنرا ZIP کنیم.

3. برای UNZIP کردن فایل ها دستور زیر را استفاده نمائید:

# unzip myarchive.zip

myarchive.zip نام فایلی است، که می‌خواهیم آن را از حالت فشرده خارج کنیم.

رنگ‌های مختلف در ترمینال ssh به چه معنی هستند؟

ترمینال ssh: رنگ‌های مختلف در ترمینال ssh به چه معنی هستند؟

3.4kviews

اول از همه باید بدانید که، SSH مخفف Secure shell یا پروتکلی برای اتصال به کنسول یا محیط ترمینال است، که رنگ‌های مختلفی در این ترمینال وجود دارد و معانی متفاوتی دارند، در زاگریو به بررسی معانی این رنگ‌ها خواهیم پرداخت.

بررسی رنگ‌های مختلف در ترمینال ssh | تغییر رنگ ترمینال لینوکس

آیا تا به حال به این موضوع دقت کرده‌اید هنگامی که یک دستور را در ترمینال ssh وارد می‌کنید، در خروجی رنگ‌های مختلفی نمایش داده می‌شود. هر کدام از این رنگ‌ها معنی خاص خود را دارند. به عنوان مثال هنگامی که دستور ls را وارد می‌کنید در خروجی یکی از پوشه‌ها به رنگ سبز و یا در پوشه دیگری به رنگ آبی و یا سبز روشن است.

خرید هاست

این رنگ‌ها چه معنی دارند و آیا کتابچه راهنمایی درباره آنها وجود دارد؟

هر کدام از این رنگ‌ها معنی خاصی دارند که در ادامه برای شما توضیح می‌دهیم.

آبی: فهرست راهنما
سبز: فایل‌های اجرایی یا داده‌های به رسمیت شناخته شده
آبی آسمانی: لینک‌های فایل
زرد با پس زمینه سیاه و سفید: دستگاه‌ها
صورتی: فایل‌های تصویری گرافیک

قرمز: فایل بایگانی

شما می‌توانید این رنگ‌ها را با وارد کردن دستوراتی روشن یا خاموش کنید.
برای خاموش کردن رنگ‌ها باید در ادامه خط‌های زیر .bashrc وارد کنید.

# enable color support of ls and also add handy aliases
# if [ -x /usr/bin/dircolors ]; then
# test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
# alias ls='ls --color=auto'
# #alias dir='dir --color=auto'
# #alias vdir='vdir --color=auto'
#
# alias grep='grep --color=auto'
# alias fgrep='fgrep --color=auto'
# alias egrep='egrep --color=auto'
# fi
همچنین اگر شما می‌خواهید بدانید که رنگ‌ها چه معنی دارند، کد زیر را در ترمینال ssh وارد کنید.
eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g')
{
IFS=:
for i in $LS_COLORS
do
echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m"
done
}
ترمینال ssh

شما می‌توانید با استفاده از دستور LS و مشاهده متغییر $LS_COLORS رنگ‌هایی که در حال استفاده هستند را مشاهده کنید.

فیروزه: فایل‌های صوتی (فایل‌های شماره ۱)
قرمز روشن: آرشیو و فایل‌های فشرده (فایل‌های شماره ۲)

بنفش: تصاویر و ویدئو (فایل‌های شماره ۳)

علاوه بر این فایل‌ها بر اساس حالت‌های آن‌ها رنگ‌بندی می‌شوند.

colorcommand2
1٫ aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
2٫ tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, zoo, cpio, 7z, rz.

3٫ jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.

همه این اطلاعات در خروجی دستور dircolors –print-database وجود دارد اما فرمت آن تقریبا ناخواناست.
زاگریو

دستورات مفید SSH برای مدیریت CFS

1.3kviews

CFS یکی از بهترین نرم‌افزارهای فایروال برای سرورهای لینوکسی است. در این مقاله برخی از دستورات SSH که برای تنظیمات CSF استفاده می‌شود برای شما آورده شده است.

برای ری‌استارت کردن CSF از دستور زیر استفاده می شود:

csf -r

دستور زیر برای start کردن ruleهای فایروال استفاده می‌شود:

csf –s

دستور زیر یک آدرس IP را از لیست csf.deny (IP های حذف شده) پاک می‌کند و IP را آزاد می‌کند:

csf -dr IP address

با استفاده از دستور زیر می‌توان یک IP آدرس را در لیست csf.deny قرار دهیم ( بلاک کردن IP):

csf -d IP address

با استفاده از دستور زیر می‌توانیم یک IP آدرس را در لیست سفید (whitelist) فایروال قرار دهیم:

csf -a IP address

برای اضافه کردن یک IP به لیست temp IP ban از دستور زیر استفاده می‌کنیم:

csf -td IP address

دستور زیر به ما این امکان را می‌دهد که یک IP برای یک مدت مشخص با استفاده از port مشخص در لیست سفید قرار بگیرد.

csf -ta ipaddress TTL [-p port] [-d direction] [comment]

در دستور بالا TTL برای مشخص کردن زمان برحسب ثانیه است. Port شماره پورت مورد نظر و direction برای مشخص کردن in یا outbound است و از comment هم برای درج پیام استفاده می‌شود.

دستور زیر یک IP آدرس را بطور موقت از لیست حذف می‌کند و یا اجازه میدهد موقتا در لیست باشد.

csf -tr

مشاهده لیست آدرس‌ های ip متصل به سرور

14.1kviews

امروز در زاگریو، قصد داریم تا لیست آدرس‌ های ip متصل به سرور را به شما عزیزان، به صورت کامل توضیح دهیم، زیرا ممکن است گاهی به این فکر کنید که به سرور شما حمله شده است و می‌خواهید بدانید که چه کسی سرور شما را مورد حمله Ddos قرار داده است. شما با پیدا کردن IP شخص حمله کننده می توانید که IP آن را مسدود کنید.

دستورات در UNIX | ای پی سرور

با استفاده از دستور زیر در UNIX می‌توانید کلیه آدرس‌های متصل به پورت ۸۰ سرور خود را مشاهده کنید:

netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

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

97 114.198.236.100
56 67.166.157.194
44 170.248.43.76
38 141.0.9.20
37 49.248.0.2
37 153.100.131.12
31 223.62.169.73
30 65.248.100.253
29 203.112.82.128
29 182.19.66.187

نکته: این دستور برای نشان دادن این‌که آیا حمله DDoS ای بر روی سرور شما در حال وقوع است به کار می‌رود.

مدیریت سرور

اجاره دهید دستور بلند بالا را در قسمت‌های کوچک برای شما توضیح دهیم:

1- netstat -tn 2>/dev/null

با استفاده از دستور netstat تمامی ارتباطات ورودی و خروجی سرور خود را می‌توانید مشاهده کنید.
n- آدرس‌های را به صورت عدد به جای نام به شما نشان می‌دهد.
t- صرفا ارتباطات به پورت‌های TCP را به شما نشان می‌دهد.
/dev/null خروجی‌های ناخواسته را به مکانی خاص منتقل می‌کند تا درخواست شما مرتب نمایش داده شود.

خروجی:

#Examples - 7 connections
tcp 0 0 64.91.*.*:80 114.198.236.100:12763 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51950 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51951 TIME_WAIT
tcp 0 0 64.91.*.*:23 202.127.210.2:14517 TIME_WAIT
tcp 0 0 64.91.*.*:80 149.238.193.121:65268 TIME_WAIT
tcp 0 0 64.91.*.*:80 114.198.236.100:44088 ESTABLISHED
tcp 0 0 64.91.*.*:80 175.136.226.244:51952 TIME_WAIT
2- grep:80

صرفا آدرس‌ های ip را نشان می‌دهد که به پورت ۸۰ سرور شما متصل شده‌اند.

tcp 0 0 64.91.*.*:80 114.198.236.100:12763 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51950 TIME_WAIT
tcp 0 0 64.91.*.*:80 175.136.226.244:51951 TIME_WAIT
tcp 0 0 64.91.*.*:80 149.238.193.121:65268 TIME_WAIT
tcp 0 0 64.91.*.*:80 114.198.236.100:44088 ESTABLISHED
tcp 0 0 64.91.*.*:80 175.136.226.244:51952 TIME_WAIT
3- awk ‘{print $5}’

awk به شما کمک می‌کند تا رکورد شماره ۵ (آدرس‌ های ip به همراه پورت مربوطه که در خروجی بالا نمایش داده شده‌اند) به صورت جداگانه نمایش داده شود:

۱۱۴٫۱۹۸٫۲۳۶٫۱۰۰:۱۲۷۶۳
۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴:۵۱۹۵۰
۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴:۵۱۹۵۱
۱۴۹٫۲۳۸٫۱۹۳٫۱۲۱:۶۵۲۶۸
۱۱۴٫۱۹۸٫۲۳۶٫۱۰۰:۴۴۰۸۸
۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴:۵۱۹۵۲

4- cut -d: -f1

دستور cut کمک می‌کند تا محتوای مورد نظر شما از محتوای ناخواسته جدا شود:
۱٫ d- کاراکتری را که بلافاصله پس از دستور d- نمایش داده می‌شود را مشخص می‌کند، در این مثال : است. به صورت پیش‌فرض tab را انتخاب می‌کند.
۲٫ f- مشخص می‌کند که چه لیستی از کارکترها، بایت‌ها یا قسمت‌ها باید انتخاب شوند.

5- sort | uniq -c | sort -nr
این دستور لیست را مرتب می‌کند، آن‌ها را در یک گروه قرار می‌دهد و مجددا آن‌ها را به صورت ترتیبی مرتب می‌کند:
1٫ sort

۱۱۴٫۱۹۸٫۲۳۶٫۱۰۰
۱۱۴٫۱۹۸٫۲۳۶٫۱۰۰
۱۴۹٫۲۳۸٫۱۹۳٫۱۲۱
۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴
۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴
۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴

۲٫ uniq -c – آن‌ها را در گروه قرار می‌دهد.

۲ ۱۱۴٫۱۹۸٫۲۳۶٫۱۰۰
۱ ۱۴۹٫۲۳۸٫۱۹۳٫۱۲۱
۳ ۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴

۳٫ sort -nr آن‌ها را بر اساس شماره، از بیشتر به کمتر مرتب می‌کند.

۳ ۱۷۵٫۱۳۶٫۲۲۶٫۲۴۴
۲ ۱۱۴٫۱۹۸٫۲۳۶٫۱۰۰
۱ ۱۴۹٫۲۳۸٫۱۹۳٫۱۲۱

۶- دستور head اختیاری است و صرفا ۱۰ رکورد اول را به شما نشان می‌دهد.

میزبانی وب زاگریو

اسکریپت تهیه نسخه پشتیبان از فایل‌ها و بانک‌های اطلاعاتی در SSH

اسکریپت تهیه نسخه پشتیبان از فایل‌ها و بانک‌های اطلاعاتی در SSH

1.5kviews

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

اسکریپت تهیه نسخه پشتیبان از فایل‌ها و بانک‌های اطلاعاتی در SSH

در سرورهای لینوکسی (هاست لینوکس) می‌توانید با استفاده از این اسکریپت در SSH به اهداف ذیل دست پیدا کنید:

  • تهیه نسخه پشتیبان از پوشه‌ها و فایل‌های مورد نظر
  • امکان عدم تهیه نسخه پشتیبان از پوشه‌هایی مشخص درون فایل‌های فوق
  • فشرده‌سازی نسخه پشتیبان
  • تغییر نام فایل نسخه پشتیبان به همراه متغیرهایی همچون تاریخ و ساعت
  • تهیه نسخه پشتیبان از بانک اطلاعاتی MySQL
  • ارسال نسخه پشتیبان به سرور FTP

ابتدا فایل اجرایی را با دستور زیر ایجاد نمائید.

[root@zagrio ~]# nano backup.sh

محتوای فایل: (موارد قرمز رنگ می بایست مطابق نیاز اصلاح شود)

#!/bin/sh
#Path Configuration
export BACKUP_PATH='/root/backup/'
export FILES_BACKUP_FILENAME='files.tar.gz'
export DATABASE_BACKUP_FILENAME='database.sql.gz'
export PATH_TO_BACKUP='/path/to/backup'
export PATH_TO_EXCLUDE1='/path/to/backup/excludethis1'
export PATH_TO_EXCLUDE2='/path/to/backup/excludethis2'
#Database Configuration
export DATABASE_USERNAME='username'
export DATABASE_PASSWORD='password'
export DATABASE_HOST='localhost'
export DATABASE_NAME='database'
#FTP Configuration
export FTP_HOST='ftp.host.com'
export FTP_USERNAME='username'
export FTP_USERNAME='password'
#Create Backup Directory
mkdir $BACKUP_PATH
#Compress files / define any excluded folder
tar -cjvf $BACKUP_PATH$DATABASE_BACKUP_FILENAME $PATH_TO_BACKUP --exclude $PATH_TO_EXCLUDE1 --exclude $PATH_TO_EXCLUDE2
#Create MySQL Backup
mysqldump -u $DATABASE_USERNAME -h $DATABASE_HOST -p$DATABASE_PASSWORD $DATABASE_NAME | gzip -9 > $BACKUP_PATH$DATABASE_BACKUP_FILENAME
#Get Date
MY_DATE=date +%Y%m%d
export MY_DATE
#Transfer Backups to FTP Host
ftp -n -i $FTP_HOST <<END_SCRIPT
user ${FTP_USERNAME} ${FTP_PASSWORD}
put ${BACKUP_PATH}${DATABASE_BACKUP_FILENAME} files_${MY_DATE}.sql.gz
put ${BACKUP_PATH}${FILES_BACKUP_FILENAME} database_${MY_DATE}.tar.gz
END_SCRIPT
#Remove local backup after upload
rm $BACKUP_PATH* -f

سپس با دستور زیر سطح دسترسی اجرایی برای آن تعریف کنید. | تهیه نسخه پشتیبان

[root@zagrio ~]# chmod backup.sh 777

حالا به شکل زیر آن را اجرا نمائید و یا در Cron قرار دهید.

[root@zagrio ~]# ./backup.sh

SSH: آموزش افزودن فضای اضافی به پارتیشن اصلی در سرورهای لینوکس

SSH: آموزش افزودن فضای اضافی به پارتیشن اصلی در سرورهای لینوکس

8.4kviews

در این مطلب قصد داریم تا در مورد موضوعی به نام آموزش افزودن فضای اضافی به پارتیشن اصلی در سرورهای لینوکس (SSH)، با شما در بلاگ زاگریو صحبت کنیم.

افزایش حجم  پارتیشن ریشه با استفاده از SSH –  LVM- CentOS

اجرای دستور زیر در SSH

Increase Root Partition size – LVM – CentOS

برای افزایش فضای پارتیشن ریشه  ما باید با یک Iive CD/DVD  یا USB image بوت شویم و از آنجا فضای پارتیشن ریشه را افزایش دهیم و نیاز داریم که سیستم در حالت قطع (DOWNTIME) باشد. غیرممکن است که بدون قطع سیستم بتوانیم فضای پارتیشن ریشه را افزایش دهیم.

پارتیشن ریشه  سرور CentOS ما بر روی یک LVM  قرار گرفته که باعث می‌شود تغییر سایز کردن ساده‌تر شود.

چگونه فضای پارتیشن ریشه را با استفاده از SSH افزایش دهیم:

۱- CentOS live CD/DVD یا USB image خود را آماده کنید.

مطمئن شوید که یک Live CD/DVD  یا USB image برای بوت شدن از روی آن دارید. در این‌جا چگونگی استفاده از CentOS 7 DVD ISO image را خواهیم داشت اما در نهایت شما می‌توانید با استفاده از Fedora, Ubuntu و دیگر live CD/DVD imge همین کار را انجام دهید.

۲-  پارتیشن ریشه خود را شناسایی کنید.

مطمئن شوید هنگامی‌که در Live System هستید توانایی شناسایی پارتیشن ریشه را دارید. چون ما در حال افزایش پارتیشن ریشه  LVM  هستیم ساده‌ترین راه بخاطر سپردن سایز است. اگر پارتیشن‌های بسیاری با سایز یکسان دارید شما می‌توانید از ابتدا تا انتها بلوک‌ها را بررسی کنید.
با استفاده از LVM، پارتیشن ریشه را با عنوان /dev/mapper/cenos-root LVM Partition  مشخص کردم که بدین معنی است که این پارتیشن در یک (VG(Volume Group به نام CentOS و یک (LV (Logical Volume  به نام Root قرار دارد.

۳- اضافه کردن دیسک اضافی

با اضافه کردن دیسک اضافی به سیستم می‌توانیم فضای پارتیشن ریشه را افزایش دهیم یا مطمئن که یک فضای قابل استفاده روی دیسک پیکربندی شده موجود داریم. از آن‌جا که از ما از یک سیستم مجازی استفاده می‌کنیم یک فضای ۲GB اضافی، افزوده شده که در سیستم با عنوان /dev/ sdb شناخته می‌شود.

۴-  Reboot کردن سیستم‌تان

Live image را در CD/DVD درایو یا USB port را در سیستم قرار دهید. چون من از یک سیستم مجازی استفاده می‌کنم CentOS 7 ISO را در CD/DVD درایو مجازی قرار می‌دهم. در زمان بوت به “boot menu”  می‌رویم و محیط صحیح را برای بوت شدن انتخاب می‌کنیم.
بعد از این منوی CentOS 7 باید ظاهر شود.

۵-  انتخاب ” Troubleshooting”

هنگامی که CentOS 7  بوت می‌شود گزینه Troubleshooting” را از اولین منو انتخاب کنید.
SSH

۶-  انتخاب ” Rescue a CentOS system”

در منوی دوم گزینه ” Rescue a CentOS system” را انتخاب کنید.

۷-  پرش از نصب تاسیسات لینوکس موجود با SSH

هنگامی که باری پیدا کردن و نصب تأسیسات لینوکس موجود پرسیده می‌شود “Skip” را انتخاب کنید. چون ما در حال افزایش Root Partition خود هستیم این پارتیشن نباید نصب شود.

با زدن Enter به  Bash shell بر می‌گردید.

۸- آماده‌سازی دیسک جدید با SSH

از آنجا که ما ۲GB Disk جدید را به طور کامل به سیستم مجازی اضافه کرده‌ایم ما باید این دیسک را برای استفاده LVM  آماده کنیم. اگر در حال گسترش Root Partition با یک پارتیشن خالی موجود هستید نیز فرآیند مشابه است. فقط  از مشخص کننده پارتیشن (sdaX or sdbX) هنگامی‌که در حال اجرای دستورات هستید استفاده کنید.

پیکربندی آخرین دیسک را با دستور “fdisk -1” د بررسی کنید.

ما باید دیسک اضافی جدید را با ایجاد یک (PV( Physical Volume  جدید و گسترش (VG(Volume Group که در شکل زیر نشان داده می شود، در مرحله ۲ و با fdisk قابل تشخیص است، آماده کنیم. VG گسترش یافته “CentOS”  نامیده می‌شود.

همان‌طور که در Screenshot جدید می‌بینیم VG ما که CentOS نامیده شد حالا ۵۱۱ PE(Physical Extents) خالی دارد. در سطر “Free PE / Size” می‌بینیمکه به این معنی است که ما می‌توانیم root LV خود را با ۵۱۱ PE افزایش دهیم.

۹- افزایش فضای پارتیشن ریشه

بعد از به نتیجه رسیدن موارد بالا ما نیاز داریم که root LV را با دستور “Lvextend” گسترش دهیم. در این مورد من با ۵۱۱ PE (به همان اندازه که فضای آزاد وجود دارد) افزایش می‌دهم و همچنین از پارامتر “-r”  در انتهای دستور استفاده می‌کنم که بطور اتوماتیک فایل سیستم تغییر سایز شود.

نحوه دستوری که استفاده می‌کنم “lvextend -1+511 centos/root –r” است. علامت “+” را قبل از عدد PE فراموش نکنید. اگر فراموش شود داده‌های خود را از دست می‌دهید.

 همان‌طور که در انتهای دستور خروجی می‌بینیم data blocks number و همچنین partition size افزایش یافته است.

۱۰-  ریبوت کردن سیستم با استفاده از SSH

الان زمان برداشتن live image از CD/DVD  یا USB و راه‌اندازی مجدد بوت شدن سیستم موجود است. پس از آن ما می‌توانیم فضای آزاد دیسک پارتیشن ریشه را با SSH بررسی کنیم.

همان‌طور که می‌بینیم ۲GB فضای آزاد قابل استفاده روی root partition داریم که به این معنی است که ما موفق به افزایش سایز پارتیشن ریشه شدیم.

زاگریو

تعریف دسترسی جهت ورود به سرور برای تیم پشتیبانی زاگریو

620views

درصورتی‌که قرار است تیم پشتیبانی میزبانی زاگریو به سرور لینوکسی شما متصل شوند و خدماتی را مطابق درخواست شما اجرا کنند لازم است به روش زیر این دسترسی را برای ما فراهم نمائید.

شما باید یک فایل با نام زیر در مسیر مشخص شده ایجاد کنید:

.ssh/authorized_keys

و سپس محتوای زیر را درون آن قرار دهید:

 

 

پس از اتمام کار باید نسبت به حذف این فایل اقدام فرمائید.