منظور از این آموزش های این شکلی که توضیح کامل داده نمیشود قصد یه آشنایی است.
میخواهیم یک bash script بنویسیم که هر ۳ دقیقه از etc بکآپ بگیرد آنرا زیپ کند و در سروری(10.10.10.2) در نقطه ای دیگر ذخیره کند.
root@ubuntudes:~#pwd
/home/ubuntu/
root@ubuntudes:~# vi test
tar cfz /home/ubuntu/Desktop/backup.gz /etc
scp /home/ubuntu/Desktop/backup.gz root@10.10.10.2:/home/ubuntu/Desktop
save and exit.
root@ubuntudes:~#chmod +x test
خوب الان test را اجرایی هم کردیم و به صورت زیر اجرا میشود
root@ubuntudes:~#./test
ما میخواهیم هر ۳ دقیقه این برنامه به صورت اتوماتیک اجرا شود.
پس باید از crontab استفاده کنیم. h حذف کنید.
root@ubuntudes:~# crontab -e
h# m h dom mon dow command
h */3 * * * * /home/ubuntu/test
save and exit
تا اینجا ما تونستیم هر ۳ دقیقه به صورت اتوماتیک بکآپ بگیریم و روی سروری دیگر ذخیره کنیم.
یه مشکل هست.؟؟؟؟؟ هر ۳ دقیقه ما باید پسورد سرور را بهش بدیم.
پس باید کاری کنیم که سرور از ما پسورد نپرسه.
توی سیستم خودمون rsa , dsa را میسازیم و در سرور ذخیره میکنیم که دیگه پسورد از ما نپرسه.
root@ubuntudes:~# ssh-keygen -t rsa
root@ubuntudes:~# ssh-keygen -t dsa
اگر زمان ساخت مکان دیفالت را انتخاب کنید 4 تا در root/.ssh/ ذخیره میشود.(۲ تا public و ۲ تا private)
کد های داخل ۲ تا public را در فایلی به نام authorized_keys ذخیره میکنیم.
root@ubuntudes:~# cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
root@ubuntudes:~# cat /root/.ssh/id_dsa.pub >> /root/.ssh/authorized_keys
حالا باید authorized_keys را در root/.ssh/ روی سرور ذخیره کنیم.
root@ubuntudes:~#scp /root/.ssh/authorized_keys root@10.10.10.2:/root/.ssh/authorized_keys
از این به بعد دیگه سرور از ما پسورد نمیخواهد.
موضوعات مشابه: