English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هذا المقال يشارككم مثالاً عن سكربت تعريف المتغيرات في لينكس، يمكنكم الرجوع إليه، والتفاصيل كالتالي
هناك كودانين متشابهين، ولكن مع تغيير المتغيرات فقط، لا يوجد أي تغيير آخر، ولكن في عملية التنفيذ ظهرت نتائج مختلفة
كود أول:
vi back.sh #backup import file,such as /etc/rc.local /var/spool/cron/root IP=$(ifconfig eth1|sed -nr '2s#.*addr:(.*) B.*#\1#gp') Path=/backup if [ $(date +%w) -eq 0 ] then Time=$(date +%F-%w -d "-1 day") else Time=$(date +%F "-1 day") fi mkdir $Path/$IP -p cd / &&\ tar zcfh $Path/$IP/backup_$Time.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs &&\ md5sum $Path/$IP/backup_$Time.tar.gz >$Path/$IP/flag_$Time.log &&\ rsync -azv $Path/ [email protected]::backup --password-file=/etc/rsyncd.password &&\ find $Path/ -type f \( -name "*.log" -o -name "*.tar.gz" \) -mtime +7 |xargs rm –f "back.sh" 15L, 628C written
كود ثاني:
vi back.sh #backup import file,such as /etc/rc.local /var/spool/cron/root IP=$(ifconfig eth1|sed -nr '2s#.*addr:(.*) B.*#\1#gp') Path=/backup if [ $(date +%w) -eq 0 ] then Time=$(date +%F-%w -d "-1 day") else Time=$(date +%F "-1 day") fi mkdir $Path/$IP -p cd / &&\ tar zcfh /backup/$IP/backup_$Time.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs &&\ md5sum $Path/$IP/backup_$Time.tar.gz >$Path/$IP/flag_$Time.log &&\ rsync -azv $Path/ [email protected]::backup --password-file=/etc/rsyncd.password &&\ find $Path/ -type f \( -name "*.log" -o -name "*.tar.gz" \) -mtime +7 |xargs rm –f "back.sh" 15L, 628C written
يعد هذا الكود فقط تعديل حالة التعبئة، tar zcf /backup و تعريف متغير tar $Path/ يظهر حالة مختلفة، نتيجة التنفيذ الأول هي:
نتيجة تنفيذ كود أول:
[root@nfs01 backup]# ls
172.16.1.31 backup_2017-12-23-6.tar.gz flag_2017-12-23-6.log
نتيجة تنفيذ كود ثاني:
[root@nfs01 backup]# ls
172.16.1.31
مبدأ كود واحد وكود آخر متشابه، ولكن لماذا كانت نتائج التنفيذ مختلفة؟ أعتقد أن السبب هو بداية دليل متغيرات البيئة، مما يجعل المتغيرات البيئية السابقة غير نافذة، تم تعبئة مرة أخرى:
اختبار سكربت
[root@nfs01 scripts]# sh -x back.sh ++ sed -nr '2s#.*addr:(.*) B.*#\1#gp' ++ ifconfig eth1 + IP=172.16.1.31 + Path=/backup ++ date +%w + '[' 4 -eq 0 ']' ++ date +%F -d '-1 day' + Time=2017-12-20 + mkdir /backup/172.16.1.31 -p + cd / + tar zcfh /backup/172.16.1.31/backup_2017-12-20.tar.gz var/spool/cron/root etc/rc.local etc/sysconfig/iptables var/www/html app/logs + md5sum /backup/172.16.1.31/backup_2017-12-20.tar.gz + rsync -azv /backup/ [email protected]::backup --password-file=/etc/rsyncd.password إرسال قائمة ملفات التغيير 172.16.1.31/backup_2017-12-20.tar.gz 172.16.1.31/flag_2017-12-20.log تم إرسال 1128 بت تم استقبال 65 بت 2386.00 بت/ثانية الحجم الإجمالي هو 2960 السرعة هي 2.48 + xargs rm -f + find /backup/ -type f '(' -name '*.log' -o -name '*.tar.gz' ')' -mtime +7
لم يحدث أي مشكلة في سكريبت الاختبار، ولكن لا أعرف السبب، أرجو من الأكبر أن يوضح، وأنا أقدر المساعدة!
هذا هو نهاية محتويات هذا المقال، آمل أن يكون قد ساعدكم في التعلم، وأتمنى أن تدعموا وتصفقوا لتعليمات النفخ.
إعلان: محتويات هذا المقال تم جمعها من الإنترنت، ويحق لصاحب الحقوق أن يكون مالكًا لها، وقد تم إدراج المحتويات من قبل مستخدمي الإنترنت بشكل متعاون، ويستخدم هذا الموقع دون امتلاك حقوق الملكية، ولا يتم تعديل المحتويات بشكل إنساني، ولا يتحمل الموقع أي مسؤولية قانونية متعلقة بذلك. إذا لاحظت أي محتويات مخالفة لحقوق النسخ، فلا تتردد في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (أثناء إرسال البريد الإلكتروني، يرجى استبدال '#' بـ '@') لإبلاغنا، وقدم الدليل على الأدلة، وإذا تم التحقق من ذلك، سيتم حذف المحتويات المزعجة فورًا.