How to auto commit to my git repository using cron?
Solution 1
To add up, I have simplified the links, so it is more readable for someone looking for an answer based on huti's blog post.
So for your sync.sh
I would add -u origin master
for the push:
#!/bin/bash
cd /home/valter/git-project/
/usr/bin/git add -A
/usr/bin/git commit -am "Daily update"
/usr/bin/git push -u origin master
Make sure you script can be executed by bash:
sudo chmod 765 ~/sync.sh
Then you can add a line to the /etc/crontab
:
sudo nano /etc/crontab # To edit the file
01 18 * * * root /home/valter/sync.sh
Be sure to reboot for the cron job to take effect, Now your script will be run every day at 18:01. If there is no modification, nothing will be pushed though.
Solution 2
I am not an git master, but I make some git tests on my local git test repo. When I run git push, then output is:
fatal: No configured push destination.
Either specify the URL from the command-line or configure a remote repository using
git remote add <name> <url>
and then push using the remote name
git push <name>
Q: Have you configured remote repository using git remote add
command? If yes, try run git push with name of remote repository. If no, configure one, or use git push with remote repository url on command line (git push git://host.xz[:port]/path/to/repo.git/
).
Valter Silva
Updated on September 18, 2022Comments
-
Valter Silva over 1 year
I look into a lot of answers about this subject, but something is wrong here, let me explain. I create this script, to make my
cron
cleaner :)#!/bin/bash cd /home/valter.silva/Development/git/valter/ /usr/bin/git add -A /usr/bin/git commit -am "update `date`" /usr/bin/git push
Then add it at my cron,
valter.silva's cron
, not myroot cron
:00 * * * * /home/valter.silva/Development/git/valter/scripts/git/sync.sh
Restart my cron
sudo service cron restart cron stop/waiting cron start/running, process 6047
Aaand .. nothing happens..
But if I execute my script in command line, everything works fine. I know for a fact that sometimes if you don't put the whole path at cron scripts won't work correctly. And that I should use my cron to do that, not root's cron.
So what's wrong here ? Any ideas ? Thank you!
udpate
I follow Terdon suggestion, into log the operation, but it seems everything is okay, but not the
push
process though. Why ?[master ad5d001] update Fri Aug 9 11:00:01 BRT 2013 9 files changed, 1224 insertions(+), 364 deletions(-) create mode 100644 scripts/centreon/4.answers~ create mode 100644 scripts/centreon/6.importing database create mode 100644 scripts/centreon/6.importing database~ create mode 100755 scripts/centreon/7.upgrade.sh create mode 100755 scripts/centreon/7.upgrade.sh~ create mode 100644 scripts/centreon/8.answers create mode 100644 scripts/centreon/8.answers~ # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean)
-
mpy over 10 yearsHow did you add this to your user's crontab (you should use
crontab -e
)? What doescrontab -l
report? You can try to addSHELL=/bin/bash
andMAILTO="valter.silva"
into your user's crontab. Especially the latter might give you some error messages in your local mail (/var/spool/mail/valter.silva
) if local mail system is working. And IMHO there is no need to restart thecron
service. -
Valter Silva over 10 years
crontab -e
, notsudo crontab -e
. Thecrontab -l
is exactly that entry that I post it, there's only this entry in my cron. -
user2313067 almost 10 yearsIs the remote git server protected by an ssh key with a password by any chance ?
-
Lincoln Bergeson over 7 yearsDid you ever figure it out? Arrived here by googling. Wondering if you ever fixed it.
-
-
Valter Silva over 10 yearsI'm trying to run this over a week now, trying to figure out what is happening to not commit my changes.
-
Valter Silva over 10 yearsOk, terdon, will do that. I'm cloning my repo in a different computer now :)
-
Valter Silva over 10 yearsI update my post, could you please take a look ?
-
Valter Silva over 10 yearsI did configure with
git remote add
, I will look into it.