Maintenance tips

Here's what I've learned about maintaining a Drupal site.  There are probably other (better) ways to do this, but its how I do it...

Installation, Migration, and Backups: http://drupal.org/node/206647

Best Practices: http://drupal.org/best-practices

Back-up you DB regularly.

I use MyPHPadmin to create a dump of the database.  This can be imported back in case of a problem.  This should be done on a regular basis - remember, all of the data, configuration settings, etc. are all stored in the database.

Useful article: http://drupal.org/node/22281

Back-up your Files directory

The Files area is the only one that is changed by non-admins.  It is where all file uploads (images, attachements, etc.) are stored. The rest of the Drupal install is "replaceable" by re-installing Drupal and the contrib. modules.  The only exceptions are: (1) custom modules; and (2) custom themes;  - these should be backed up whenever you make a change to them.  (Keep an archive of old versions in case you ever need to go back to a previous version!)

Develop on a Test Site

I run Apache/PHP/MySQL/Drupal locally on my own machine.  I keep the version on my machine in sync with the production system on a regular basis by simply importing my database backup.  I use this version as a "sandbox" to try things out thoroughly before implementing them on the production site.  I NEVER export the database from my sandbox and upload to the producton site, because (1) the sandbox is never clean; and (2) users may have added data to the production site since I grabbed the database.

Here are some useful articles on this topic:

http://drupal.org/creating-drupal-test-sites

http://drupal.org/node/6403

http://drupal.org/node/206066