আমি আমার মেশিনটি বুট করার 10 মিনিট পরে তবে দিনের মধ্যে একবার ব্যাকআপ স্ক্রিপ্ট চালাতে চাই। সিস্টেমডের সাথে কি এই জাতীয় পরিস্থিতি তৈরি করা সম্ভব?
echo "obnam backup" | at "now + 10 minutes"
আমি আমার মেশিনটি বুট করার 10 মিনিট পরে তবে দিনের মধ্যে একবার ব্যাকআপ স্ক্রিপ্ট চালাতে চাই। সিস্টেমডের সাথে কি এই জাতীয় পরিস্থিতি তৈরি করা সম্ভব?
echo "obnam backup" | at "now + 10 minutes"
উত্তর:
দেখুন /lib/systemd/system/systemd-tmpfiles-clean.timer:
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
এটি .serviceবুট করার 15 মিনিটের পরে এবং তারপরে প্রতিদিন সিস্টেমটি চালু থাকার সময় সংশ্লিষ্ট ফাইলটি চালায় । যদি আপনি একই দিনে একাধিকবার রিবুট করেন, আপনি কেবল সংরক্ষণাগারটির এমটাইম পরীক্ষা করতে ব্যাকআপ স্ক্রিপ্টটি রাখতে পারেন এবং এটি যদি এক দিনেরও কম পুরানো হয় তবে চালানো যায় ip
এছাড়াও, যদি আপনার ব্যাকআপগুলি আইও-তে ভারী হতে চলেছে, তবে সিস্টেমড.এক্সেক (5) ম্যানপেজে আইওএসচেডিং * নির্দেশিকা সম্পর্কে পড়তে সহায়ক হতে পারে ।
আমি মনে করি না এটি সম্পূর্ণভাবে সিস্টেমে করা সম্ভব কারণ এটি পুনরায় বুট করার মধ্যে কোনও রাজ্য ট্র্যাক করে না। আপনি easly বুট ব্যবহার করে পরে 10 মিনিট চালানোর জন্য কিছু নির্ধারিত করতে পারেন systemd.timerএবং তার OnBootSec=বা OnStartupSec=।
স্ক্রিপ্ট নিজেই এটি পরীক্ষা করতে হবে যে এটি ইতিমধ্যে আজ চালানো হয়েছিল কি না। এটি সহজে ব্যাশে প্রয়োগ করা যেতে পারে, উদাহরণস্বরূপ:
#/bin/sh -x
FILE=/etc/lastrun
TODAY=`date +"%Y%m%d"`
LASTRUN=`cat $FILE`
[[ -z "$LASTRUN" ]] || [[ "$TODAY" -gt "$LASTRUN" ]] || exit
echo $TODAY > $FILE
RUNYOURSCRIPTHERE