- Jul 25, 2014
-
-
Per Cederqvist authored
-
Per Cederqvist authored
New options --continue and --only-clone. Better remote watching of the status. * backup-one-task: Handle --only-clone. Adjusted to the new CLI of lysrdiff-set-status. * lysrdiff-set-status.py (open_socket): New function. (sendmsg): Use it to simplify code. (completion): New function. (Top level): New mandatory first argument: --status, --ok, --warning or --fail. * backup-all: Added --continue and --only-clone. * lysrdiff-monitord.py (now): New function. (Client.__init__): New API: use sock and peer arguments instead of accept_retval. Renamed the input buffer from __readbuf to _readbuf so that derived classes can use it. (Client.read_event): Fixed misnamed errno name. Track name change of _readbuf. (Client.got_eof): Track name change of _readbuf. (Client.write_event): Handle EAGAIN, ETIMEDOUT and EHOSTUNREACH errors. (Client.parse): Track name change of _readbuf. (Client.handle_cmd): New command: completed. (Client.dispatcher): New method. (Server.read_event): Track API change of Client. Set the new client socket nonblocking. (Vt100Client.__init__): Negotiate telnet to get a raw byte channel using WILL ECHO, WILL SuppressGoahead, DO SuppressGoahead. Use vt100 escape sequences to disable line wrap and query the screen size. Don't register with the dispatcher. (Vt100Client.parse): New method. Register with the dispatcher once the screen size report has arrived from the client. (Dispatcher.toploop): Write the curren time to vt100 clients every second. (Dispatcher.register_vt100): Position the cursor at the command line position. (Dispatcher.write_monitor_status): Format the status separately for each client, as their screen sizes may vary. (Dispatcher.format_monitor_status): New argument: client. Position the cursor properly. (Dispatcher.set_status): Use now() to simplify code. Don't crash if a client connection is found to be broken. Format the status separately for each client, as their screen sizes may vary. (Dispatcher.format_status_vt100): New argument: client. Truncate the status to the line length reported by the client. Position the cursor at the command line position. (Dispatcher.completed): New method.
-
Per Cederqvist authored
LYSrdiff partitions are now named after both the disk and the partition, such as "2/0". Support cloning. Support watching the backup activity remotely. Various other fixes and improvements. * lysrdiff-status: Adapted to the new disk/part scheme, and the new double "--" in state files. Have a per-user state file, so that many users can use this script. * lysrdiff-set-status.py: New. Talk to lysrdiff-monitord.py. * lysrdiff-move-obsolete: New option: --auto-confirm. Adapted to the new disk/part scheme, and the new double "--" in state files. * lysrdiff-move-job: New. Move a job from one disk to another. (Actually, the old backup copy is left in place. Use lysrdiff-move-obsolete to deal with it.) * lysrdiff-monitord.py: New. Keep track of what each disk is doing, and provide a vt100-over-telnet interface to watch it remotely. * lysrdiff-label-disk: New. Create the lysrdiff.id file and the basic directory structure. Create space filler files that can be removed in an emergency. * lysrdiff-df: New. Run df on all mounted lysrdiff partitions. * fetch-backup-work: Fetch all of lenin:/home. * distribute-tasks: The lysrdiff argument is now on the form disk/part. * Makefile (install): Added lysrdiff-label-disk and lysrdiff-df. (install-one-task): Added lysrdiff-set-status.py and lysrdiff-monitord. * backup-one-task: Replaced the lysrdiffpart argument with disk and part arguments. Handle --only-prune. Log status using lysrdiff-set-status.py. Removed special-case remoterdiff for sedesopim. The parts of state file names are now separated by "--" intead of "-", to avoid confusion with categories and subcategories that contain a "-". Remove increments older than 120 days. Log the disk usage after a backup completes. Clone the backup to all mounted copies. * backup-all: Added --only-prune. The part argument is now a disk/part string, and the format of the lysrdiff.id file has changed.
-