Would you not be better of just runing myisamchk from crontab? Simon
./myisamchk Ver 1.52 for unknown-freebsdelf4.1 at i386 By Monty, for your professional use This software comes with NO WARRANTY: see the PUBLIC for details. Description, check and repair of ISAM tables. Used without options all tables on the command will be checked for errors Usage: ./myisamchk [OPTIONS] tables[.MYI] Global options: -#, --debug=... Output debug log. Often this is 'd:t:o,filename` -?, --help Display this help and exit. -O, --set-variable var=option Change the value of a variable. -s, --silent Only print errors. One can use two -s to make myisamchk very silent -v, --verbose Print more information. This can be used with --describe and --check. Use many -v for more verbosity! -V, --version Print version and exit. -w, --wait Wait if table is locked. Check options (check is the default action for myisamchk): -c, --check Check table for errors -e, --extend-check Check the table VERY throughly. Only use this in extreme cases as myisamchk should normally be able to find out if the table is ok even without this switch -F, --fast Check only tables that hasn't been closed properly -C, --check-only-changed Check only tables that has changed since last check -f, --force Restart with -r if there are any errors in the table. States will be updated as with --update-state -i, --information Print statistics information about table that is checked -m, --medium-check Faster than extended-check, but only finds 99.99% of all errors. Should be good enough for most cases -U --update-state Mark tables as crashed if you find any errors -T, --read-only Don't mark table as checked Repair options (When using -r or -o) -B, --backup Make a backup of the .MYD file as 'filename-time.BAK' --correct-checksum Correct checksum information for table. -D, --data-file-length=# Max length of data file (when recreating data file when it's full) -e, --extend-check Try to recover every possible row from the data file Normally this will also find a lot of garbage rows; Don't use this option if you are not totally desperate. -f, --force Overwrite old temporary files. -k, --keys-used=# Tell MyISAM to update only some specific keys. # is a bit mask of which keys to use. This can be used to get faster inserts! -r, --recover Can fix almost anything except unique keys that aren't unique. -n, --sort-recover Force recovering with sorting even if the temporary file would be very big. -o, --safe-recover Uses old recovery method; Slower than '-r' but can handle a couple of cases where '-r' reports that it can't fix the data file. --character-sets-dir=... Directory where character sets are --set-character-set=name Change the character set used by the index -t, --tmpdir=path Path for temporary files -q, --quick Faster repair by not modifying the data file. One can give a second '-q' to force myisamchk to modify the original datafile in case of duplicate keys -u, --unpack Unpack file packed with myisampack. Other actions: -a, --analyze Analyze distribution of keys. Will make some joins in MySQL faster. You can check the calculated distribution by using '--describe --verbose table_name'. -d, --description Prints some information about table. -A, --set-auto-increment[=value] Force auto_increment to start at this or higher value If no value is given, then sets the next auto_increment value to the highest used value for the auto key + 1. -S, --sort-index Sort index blocks. This speeds up 'read-next' in applications -R, --sort-records=# Sort records according to an index. This makes your data much more localized and may speed up things (It may be VERY slow to do a sort the first time!) Default options are read from the following files in the given order: /etc/my.cnf /usr/local/mysql/var/my.cnf ~/.my.cnf The following groups are read: myisamchk The following options may be given as the first argument: --print-defaults Print the program argument list and exit --no-defaults Don't read default options from any options file --defaults-file=# Only read default options from the given file # --defaults-extra-file=# Read this file after the global files are read -----Original Message----- From: Peter Romianowski [mailto:[EMAIL PROTECTED]] Sent: 09 April 2002 12:08 To: [EMAIL PROTECTED] Subject: check, analyze and optimize table Hi, I am writing a maintenance-deamon which is executing CHECK TABLE, ANALYZE TABLE and OPTIMIZE TABLE once at night. If CHECK TABLE fails for at least one table, then the rest will be skipped. The question is if the order of the statements is ok this way. A second question would be, if I should run a REPAIR statement automatically if CHECK fails. Are there any more tasks that I should perform nightly in order to keep my database healthy and in a "high performance shape"? And another general question: Do I have to take down my Application that is using the MySQL-DB in order to perform the CHECK, ANALYZE and OPTIMZE commands? thanks in advance, Peter --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php