Tag Archives: hidden

Mac OS X Server Ubuntu Unix WordPress

WordPress Site Stuck In Maintenance Mode

When doing updates in WordPress, upgrading the WordPress version or the Plug-Ins causes the site to enter into Maintenance Mode. While in Maintenance Mode, a message appears that says¬†“Briefly unavailable for scheduled maintenance. Check back in a minute.” rather than the actual site. Sometimes, especially if you’re using the automatic updating functions, an update might fail and the site may be stuck in Maintenance Mode.

WordPress looks at the root level of a directory for some hidden files that can tell a site to operate in a different manner. If there’s a file called “.maintenance” then the site will display the message above. When an update of a Plug-in fails, the .maintenance file is never deleted and the site is stuck in Maintenance Mode. To correct the error, simply ftp into the root of the site and delete the file. It’s hidden, so make sure your ftp software isn’t suppressing the ability to see a hidden file.

Whatever Plug-in or update failed likely also broke something. Usually, if it’s a Plug-in then you’ll need to re-install that plug-in, as the update process removes the old Plug-in and then adds it back. If it’s a Theme, you might need to re-install the Theme.

Programmatically, you can also enable Maintenance Mode by creating this file and then disabling Maintenance Mode by deleting (or renaming) the file again.

Xsan

Enabling Spotlight for Xsan

Spotlight has had a pretty checkered past with Xsan. But things are looking a little better and if you want to try enabling it again, once you’ve fully updated to 2.2 you can do so without too much fanfare. Simply locate the config file for the name of the volume you wish to enable spotlight for, which is in /Library/FileSystems/Xsan/config and is named with the name of the volume followed by a .cfg file extension. Once located, open the file in your favorite text editor (ie – pico, vi, etc). Then, locate the entry for EnableSpotlight, which should be set to No. Change the No to a Yes.

You can also enable two different levels of searching:

  • FsSearch, which only searches file system attributes (names, etc)
  • ReadWrite, which indexes content on the SAN the same way spotlight behaves for normal direct attached volumes.

To enable either, simply add a line below EnableSpotlight that reads similar to the following (based on the level of indexing you are comfortable with), starting with SpotLightSearchLevel and ending with the type of search you would like to perform:

SpotLightSearchLevel FsSearch

Or

SpotLightSearchLevel ReadWrite

Once enabled restart the service. While you shouldn’t, you may need to run mdutil (although you shouldn’t have to any more, but I’ve had to a couple of times) to get the spotlight indexing process kicked off. To do so run the mdutil command with the -E option, as you can see here (assuming a volume name of NAMEOFVOLUME):

mdutil -E /Volumes/NAMEOFVOLUME

You can then check the status of the indexing process using the -s option with mdutil, as follows(assuming a volume name of NAMEOFVOLUME):

mdutil -s /Volumes/NAMEOFVOLUME

If for some arbitrary reason spotlight chooses not to index a folder (happens with Xsan in my experience), then you can use the mdimport command with the -f option:
mdimport -f /Volumes/NAMEOFVOLUME/MYPROJECTNAME
There will also be times when indices are built either using the wrong UID or where a failover during indexing causes corruption (my best educated guess as to why this happens). When it happens, simply RM the .Spotlight-V100 directory of the volume as you can see here:
rm -ri /Volumes/NAMEOFVOLUME/.Spotlight-V100
Also keep in mind that the same rules of what does not get indexed apply to Xsan volumes that apply to direct attached volumes. Namely, the following will be skipped:
  • Hidden files (including those with names that contain leading periods).
  • Invisible files (those using the kIsInvisibleFinder flag).
  • Files that have been nested inside hidden or invisible folders.

Finally, if you wish to programmatically check that files have been indexed, you can use the mdfind command. This is especially helpful when comparing the results from an Xsan client and the current metadata controller in your environment.