src/php/Arbit/Periodic/Command/FileSystem/Copy.php
public function run( XML\Node $configuration, Logger $logger )
    {
        if ( !isset( $configuration->src ) )
        {
            $logger->log( 'No source provided.', Logger::ERROR );
            return Executor::ERROR;
        }
        $src = (string) $configuration->src;

        if ( !isset( $configuration->dst ) )
        {
            $logger->log( 'No destination provided.', Logger::ERROR );
            return Executor::ERROR;
        }
        $dst = (string) $configuration->dst;

        $depth = -1;
        if ( isset( $configuration->depth ) &&
             is_numeric( (string) $configuration->depth ) )
        {
            $depth = (int) (string) $configuration->depth;
        }

        $this->copyRecursive( $src, $dst, $depth, $logger );
        return Executor::SUCCESS;
    }
public function run( XML\Node $configuration, Logger $logger )
    {
        if ( !isset( $configuration->src ) )
        {
            $logger->log( 'No source provided.', Logger::ERROR );
            return Executor::ERROR;
        }
        $src = (string) $configuration->src;

        if ( !isset( $configuration->dst ) )
        {
            $logger->log( 'No destination provided.', Logger::ERROR );
            return Executor::ERROR;
        }
        $dst = (string) $configuration->dst;

        $depth = -1;
        if ( isset( $configuration->depth ) &&
             is_numeric( (string) $configuration->depth ) )
        {
            $depth = (int) (string) $configuration->depth;
        }

        $this->copyRecursive( $src, $dst, $depth, $logger );
        return Executor::SUCCESS;
    }
Run command

Execute the actual bits.

Should return one of the status constant values, defined as class
constants in Executor.

@param XML\Node $configuration
@param Logger $logger
@return int