Ravindra Bagale · Cyber Securityसर्व coursesया course चे lessonsशोधाEnglish

Cyber Security · मराठी आवृत्ती

cron ने कामं schedule करा

रवींद्र बागले यांच्या course वर आधारित · सहज मराठीत explanation

या page मध्ये

ठराविक वेळी किंवा interval ने command चालवण्यासाठी cron वापरतात. पाच fields चा क्रम आधी समजून घ्या:

 ┌──────── minute (0-59)
 │ ┌────── hour (0-23)
 │ │ ┌──── day of month (1-31)
 │ │ │ ┌── month (1-12)
 │ │ │ │ ┌ day of week (0-7, 0 and 7 = Sunday)
 │ │ │ │ │
 * * * * *  command
Schedule अर्थ
*/5 * * * * दर 5 मिनिटांनी
0 2 * * * रोज 02:00 वाजता
30 9 * * 1-5 सोमवार–शुक्रवार 09:30
0 0 1 * * प्रत्येक महिन्याच्या पहिल्या दिवशी मध्यरात्र
@reboot Boot/cron startup वेळी

क्रम: minute, hour, day of month, month, day of week. */5 * * * * दर पाच मिनिटांनी; 0 2 * * * रोज 02:00; 30 9 * * 1-5 सोमवार–शुक्रवार 09:30; 0 0 1 * * दर महिन्याच्या पहिल्या दिवशी मध्यरात्र. @reboot cron च्या startup/boot संबंधित schedule साठी.

रोज 01:30 ला backup example

आधी mkdir -p ~/backups करा. मग crontab -e उघडून source मधली line जोडा:

30 1 * * * tar -czf $HOME/backups/site-$(date +\%F).tar.gz /var/www/html

Crontab मध्ये % ला विशेष अर्थ आहे, म्हणून date format मध्ये \% आहे. Job च्या user ला /var/www/html read आणि backup path write permissions लागतील.

Amazon Linux 2023

Cron installed नसेल तर source workflow: sudo yum install -y cronie, sudo service crond start, sudo systemctl enable crond. Systemd timers हा दुसरा पर्याय आहे. Schedule कोणत्या timezone मध्ये चालेल ते तपासा; lab ला India time हवा असेल तर sudo timedatectl set-timezone Asia/Kolkata वापरता येतो.

Security मध्ये cron

अनधिकृत scheduled job पुन्हा पुन्हा code चालवून persistence देऊ शकतो. Investigation मध्ये users चे crontabs, /etc/crontab आणि /etc/cron.d/ तपासतात. Root job ने चालणारी script world-writable असेल तर गंभीर permissions चूक आहे.

Practice

दर पाच मिनिटांनी date आणि uptime ~/uptime.log मध्ये लिहिणारा lab job तयार करा. 15 मिनिटांनी output तपासा आणि तो test job काढा.