49 lines
1.4 KiB
Bash
Executable File
49 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Function to create a cron job
|
|
create_cron_job() {
|
|
user=$1 # Username for the cron job
|
|
minute=$2 # Minute of the hour (0-59)
|
|
hour=$3 # Hour of the day (0-23)
|
|
day_of_month=$4 # Day of the month (1-31)
|
|
month=$5 # Month of the year (1-12)
|
|
day_of_week=$6 # Day of the week (0-6, Sunday is 0)
|
|
command=$7 # Command to execute
|
|
|
|
# Construct the cron job line
|
|
cron_line="${minute} ${hour} ${day_of_month} ${month} ${day_of_week} ${command}"
|
|
|
|
# Add the cron job for the specified user. Redirects stderr to stdout.
|
|
(crontab -u yankee -l 2>/dev/null; echo "$cron_line") | crontab -u yankee -
|
|
|
|
echo "Cron job added for user $user:"
|
|
|
|
echo "$cron_line"
|
|
|
|
}
|
|
|
|
whoami
|
|
|
|
# Example usage:
|
|
user="yankee"
|
|
minute="*" # 4:20 PM
|
|
hour="*" # 4 PM in 24-hour format
|
|
day_of_month="*" # Every day of the month
|
|
month="*" # Every month
|
|
day_of_week="*" # Every day of the week
|
|
|
|
command="cd /yankee-gnome-fire-consumer/; /bin/bash consumer.bash"
|
|
|
|
create_cron_job "$user" "$minute" "$hour" "$day_of_month" "$month" "$day_of_week" "$command"
|
|
|
|
|
|
# Example with different schedule (e.g., every Monday at 2:00 AM):
|
|
# user="yankee"
|
|
# minute="0"
|
|
# hour="2"
|
|
# day_of_month="*"
|
|
# month="*"
|
|
# day_of_week="1" # Monday (0 is Sunday, 1 is Monday, etc.)
|
|
# command="/tmp/another_script.sh"
|
|
|
|
# create_cron_job "$user" "$minute" "$hour" "$day_of_month" "$month" "$day_of_week" "$command" |