Difference between revisions of "Update packages from crontab"

From ArchWiki
Jump to: navigation, search
(Created page with "== Do not try this at home! == {{Warning|'''Doing automatic updates from cron is strongly discouraged. It is likely to leave your machine in a broken and unbootable state.''' ...")
 
m (Fix Category.)
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:Package management]]
 
== Do not try this at home! ==
 
== Do not try this at home! ==
 
{{Warning|'''Doing automatic updates from cron is strongly discouraged. It is likely to leave your machine in a broken and unbootable state.'''
 
{{Warning|'''Doing automatic updates from cron is strongly discouraged. It is likely to leave your machine in a broken and unbootable state.'''
Line 7: Line 8:
 
# First, you (obviously!) need to [[cron|install cron itself]]. Do that first.
 
# First, you (obviously!) need to [[cron|install cron itself]]. Do that first.
 
# It is highly recommended to also install a mail transfer agent, such as [[Postfix]], to send you notifications if pacman fails.
 
# It is highly recommended to also install a mail transfer agent, such as [[Postfix]], to send you notifications if pacman fails.
# Run as root: <code>crontab -e</code>
+
# Run as root: {{ic|crontab -e}}
 
# Copy-paste this to your crontab:
 
# Copy-paste this to your crontab:
  
<pre>
+
{{bc|<nowiki>
 
MAILTO=your@email
 
MAILTO=your@email
 
LOGFILE=/var/log/cron-pacman.log
 
LOGFILE=/var/log/cron-pacman.log
Line 23: Line 24:
 
#min hr  dom mon dow command
 
#min hr  dom mon dow command
 
00  13  *  *  *  . /etc/profile && (echo; date; yes |pacman -Syuq) &>>$LOGFILE || (echo 'pacman failed!'; tail $LOGFILE; false)
 
00  13  *  *  *  . /etc/profile && (echo; date; yes |pacman -Syuq) &>>$LOGFILE || (echo 'pacman failed!'; tail $LOGFILE; false)
</pre>
+
</nowiki>}}
  
 
If you want to automatically reboot your computer upon a successful upgrade, append '&& reboot' to the above line.
 
If you want to automatically reboot your computer upon a successful upgrade, append '&& reboot' to the above line.
 +
 +
== Do try this at home! ==
 +
Instead of using `pacman -Syuq` above, use `pacman -Syuwq`.  The '-w' will cause pacman to "retrieve all packages from the server, but do not install/upgrade anything."  While you will still have to manually update your system, you won't have to wait (as long) for packages to download while doing so.

Revision as of 10:44, 16 December 2012

Do not try this at home!

Warning: Doing automatic updates from cron is strongly discouraged. It is likely to leave your machine in a broken and unbootable state. If this breaks your machine, do not hold anyone but yourself responsible. You have been warned.

So, proceed only if you have balls of steel or you were intending to crash your machine anyway. If so, you might as well do it the "right way".

  1. First, you (obviously!) need to install cron itself. Do that first.
  2. It is highly recommended to also install a mail transfer agent, such as Postfix, to send you notifications if pacman fails.
  3. Run as root: crontab -e
  4. Copy-paste this to your crontab:
MAILTO=your@email
LOGFILE=/var/log/cron-pacman.log

# 1. minute (0-59)
# |   2. hour (0-23)
# |   |   3. day of month (1-31)
# |   |   |   4. month (1-12)
# |   |   |   |   5. day of week (0-7: 0 or 7 is Sun, or use names)
# |   |   |   |   |   6. commandline
# |   |   |   |   |   |
#min hr  dom mon dow command
00   13   *   *   *  . /etc/profile && (echo; date; yes |pacman -Syuq) &>>$LOGFILE || (echo 'pacman failed!'; tail $LOGFILE; false)

If you want to automatically reboot your computer upon a successful upgrade, append '&& reboot' to the above line.

Do try this at home!

Instead of using `pacman -Syuq` above, use `pacman -Syuwq`. The '-w' will cause pacman to "retrieve all packages from the server, but do not install/upgrade anything." While you will still have to manually update your system, you won't have to wait (as long) for packages to download while doing so.