۸ مطلب با موضوع «Operating System :: Scripts» ثبت شده است

نحوه راه‌اندازی خودکار Agent در ODI 11g موقع استفاده از OPMN در Linux/Unix

دیروز به درخواست یکی از مشتری‌ها باید این تسک رو انجام میدادم که منجبر به این اسکریپت و دستورالعمل زیر شد.

این اسکرپت بر روی ODI ورژن 11.1.1.3.0 تا 11.1.1.9.99 تست و ساپورت شده (Release 11gR1) و قابل استفاده در اکثر توزیع‌ها هستش

اسکریپت زیر رو در مسیر /etc/init.d/ قرار بدید و مالک فایل حتماً کاربر root باشه.

ادامه مطلب...
۰۸ تیر ۹۶ ، ۱۴:۰۵ ۰ نظر
مهدی غفاری

نحوه پیدا کردن سایز دیسک های سیستم عامل از طریق PL/SQL

برای اینکار هیچ پکیج PL/SQl از قبل نوشته شده ای وجود نداره برای رسیدن به نتیجه باید یک external table ساخت و با استفاده از یک pre-processor اطلاعات مورد نیاز رو برگردوند متاسفانه این pre-processor ما براساس پلتفرم کار میکنه

برای سیستم عاملهای یونیکس بیس و خانواده لینوکس

step0:

[oracle@localhost]$ df -B 1 /usr
Filesystem 1B-blocks Used Available Use% Mounted on
/dev/sda3 24770654208 22113492992 1398870016 95% /
step1: 

[oracle@localhost ~]$ cat /tmp/demo/demo.dat
/usr
step2: 

[oracle@localhost ~]$ cat /tmp/demo/df.sh
#!/bin/bash
/bin/df -B 1 `/bin/cat ${1}` | /bin/awk 'NR == 2 {print $4}'
step3: 

create or replace directory DEMO as '/tmp/demo'
step4: 

CREATE TABLE
df
(
free NUMBER
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY DEMO
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE CHARACTERSET WE8MSWIN1252
NOBADFILE
NOLOGFILE
PREPROCESSOR demo:'df.sh'
FIELDS TERMINATED BY "|" LDRTRIM
REJECT ROWS WITH ALL NULL FIELDS
(
free CHAR
)
)
LOCATION
(
'demo.dat'
)
)
REJECT LIMIT UNLIMITED
;
step5: 

SQL> select * from df;

FREE
----------
1398870016

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

ادامه مطلب...
۲۳ شهریور ۹۵ ، ۱۲:۲۹ ۰ نظر
مهدی غفاری

ارسال ایمیل از طریق شل

همه ما انقدر خوش شانس نیستیم که از یک mail client گرافیکی با تمامی امکانات مانند thunderbird و یا kmail و از این نظیر برنامه‌ها برای ارسال ایمیل استفاده کنیم. گروهی از افراد بدشانس به نام system administrator وجود دارند (مثل من :دی) که باید از command line و یا اسکریپت برای ارسال ایمیل استفاده کنند. اگر شما هم مثل من جز این دسته از افراد بد شانس هستید توصیه می‌کنم ادامه مطلب را بخوانید.

ادامه مطلب...
۲۳ اسفند ۹۳ ، ۲۲:۳۳
مهدی غفاری

تکرار کردن دوره‌ای تعدادی از کامندها

خیلی از مواقع شما نیاز دارید مثلا ۴ دستور گذشته خود را به صورت پشت سر هم تکرار کنید. برای این کار بسیاری از لینوکس کارها از کلید بالا استفاده کرده و دستورات را یکی یکی اجرا می کنند . ولی آیا راه ساده تری نیز وجو داره؟

ادامه مطلب...
۲۳ اسفند ۹۳ ، ۲۲:۱۸
مهدی غفاری

فراموشی پسورد root

آیا پسورد root سیستم را فراموش کرده اید؟؟؟

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

ولی ریست کردن پسورد root بسیار ساده است.

در ابتدا سیستم را reboot کنید. وقتی که سیستم reboot گردید و شما به Grub screen رسیدید. کرنل مورد نظر را انتخاب کرده و کلید e را فشار دهید. در صفحه بعدی در انتهای خطی که با عبارت kernel شروع می‌شود رفته و باز هم کلید e را زده و عبارت 1 را در انتهای خط اضافه کرده و کلید b را فشار دهید.

با انجام عملیات‌های فوق کرنل به صورت single user بوت شده و به شما prompt می‌دهد . حال با زدن دستور passwd پسورد root را عوض می‌کنیم .

۲۳ اسفند ۹۳ ، ۲۲:۱۴
مهدی غفاری

جستجو در تاریخچه دستورات

تا به حال به این فکر کرده اید که چطور می توان در کامندهای گذشته شده search انجام داد ؟؟ برای این کار کافی است که از ترکیب کلید های ctrl+r استفاده کرده و عبارت مورد نظر را search کنیم .

برای اجرای آخرین کامند می‌توان از علامت!! استفاده کرد و برای اجرای آخرین دستوری که به طور فرض با ss شروع شده است کافی است !ss را زده و اینتر کرده تا آخرین دستوری که با ss شروع شده است اجرا شود.

برای اجرای n امین دستور به صورت زیر عمل می‌کنیم !n و برای اجرای n امین دستور از انتها به صورت زیر عمل می‌کنیم.

!-n

۲۳ اسفند ۹۳ ، ۲۲:۱۱
مهدی غفاری

تغییر دستورات

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

ادامه مطلب...
۲۳ اسفند ۹۳ ، ۲۱:۰۵
مهدی غفاری

تصحیح اشتباهات و غلطهای املایی vol1

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

ولی!! همیشه در لینوکس راهی وجود دارد!! Bash  دارای یک کامند داخلی به نام shop  می باشد که به ما اجازه می دهد که option های گوناگونی برای command line ست کنیم. برای مثال با زدن دستور:

Shopt -s cdspell

ما به bash قابلیت تصحیح غلط های املایی هنگام تایپ نام دایرکتوری‌های را می‌دهیم  به عنوان مثال اگر شما به جای اینکه برای رفتن به دایرکتوری یوزر mghaffari دستور  cd /home/madhavifar  را بزنید به صورت خودکار bash اشتباه شما را تصحیح کرده و شما را به نزدیک ترین دایرکتوری از نظر اسمی که در اینجا /home/mghaffari  است منتقل می‌کند .

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

Shopt -s nocaseglob

در هنگامی که اسم یک فایل را می‌زنید و tab  را فشار می‌دهید برای autocomplete  ، bash  برای ما search  و جست جوی فایل را به صورت  case-insensitive  انجام می دهد . توجه کنید که در این مورد bash  عملیات autocomplete  را به صورت case insensitive  انجام نمی‌دهد بلکه عملیات search  را به این صورت انجام می‌دهد .

برای نمونه فرض کنید که شما می خواهید به دایرکتوری Desktop  مراجعه کنید برای این منظور اگر قابلیت nocaseglob  را فعال کرده باشید اگر ما عبارت cd desk*  را استفاده کنیم ، به عبارتی از wild card  ها استفاده کنیم بعد از زدن دستورات به طور خودکار ما به دایکتوری Desktop  انتقال پیدا خواهیم کرد.

برای غیر فعال سازی قابلیتهای معرفی شده در بالا نیز کافیست به جای استفاده از سوییچ  -s  از سوییچ –u  استفاده کنیم .

برای دیدن تمامی option های قابل ست کردن برای shell  و همینطور فعال بودن و نبودن آنها نیز زدن دستور shop  کافیست .

On  به معنای فعال و off  به معنای غیر فعال می باشد .

۲۳ اسفند ۹۳ ، ۲۰:۳۲
مهدی غفاری