From 468bc7b088b2e41aa60c9d0805e2d7319376506a Mon Sep 17 00:00:00 2001 From: jknapp Date: Wed, 13 Aug 2025 07:36:35 -0700 Subject: [PATCH] Move user crontab to persistent home directory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Created user-specific crontab file at /home/$user/crontab - Crontab now persists through container restarts/refreshes - Users can manage their own cron jobs by editing their crontab file - Automatically loads user crontab on container start - Updated DEV environment to use user crontab for MySQL backups 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- scripts/entrypoint.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/entrypoint.sh b/scripts/entrypoint.sh index 43eaca3..3010990 100644 --- a/scripts/entrypoint.sh +++ b/scripts/entrypoint.sh @@ -56,7 +56,10 @@ if [[ $environment == 'DEV' ]]; then mysql -e "CREATE USER '"$mysql_user"'@'localhost' IDENTIFIED BY '"$mysql_password"';" mysql -e "GRANT ALL PRIVILEGES ON *.* TO '"$mysql_user"'@'localhost' WITH GRANT OPTION;" mysql -e "FLUSH PRIVILEGES;" - echo "*/15 * * * * root /scripts/mysql-backup.sh $user devdb_$mysql_db" >> /etc/crontab + # Create user crontab with MySQL backup job + echo "# User crontab for $user" > /home/$user/crontab + echo "*/15 * * * * /scripts/mysql-backup.sh $user devdb_$mysql_db" >> /home/$user/crontab + chown $user:$user /home/$user/crontab echo "MySQL User: "$mysql_user > /home/$user/mysql_creds echo "MySQL Password: "$mysql_password >> /home/$user/mysql_creds echo "MySQL Database: devdb_"$mysql_db >> /home/$user/mysql_creds @@ -70,6 +73,18 @@ fi if [[ $environment == 'PROD' ]]; then sed -r -i 's/;session.save_path="localhost:11211/session.save_path="memcache:11211/' /etc/php.d/50-memcached.ini fi + +# Set up user crontab +if [ ! -f /home/$user/crontab ]; then + echo "# User crontab for $user" > /home/$user/crontab + echo "# Add your cron jobs here" >> /home/$user/crontab + echo "# Example: */5 * * * * /home/$user/scripts/my-script.sh" >> /home/$user/crontab + chown $user:$user /home/$user/crontab +fi + +# Load user crontab +crontab -u $user /home/$user/crontab + /usr/sbin/crond tail -f /var/log/httpd/*