一键导入
fastcopy-file-transfer-utility
High-performance file copying and transfer utility with parallel streams, integrity verification, and automation capabilities
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
High-performance file copying and transfer utility with parallel streams, integrity verification, and automation capabilities
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | fastcopy-file-transfer-utility |
| description | High-performance file copying and transfer utility with parallel streams, integrity verification, and automation capabilities |
| triggers | ["how do I use FastCopy for bulk file transfers","configure FastCopy with YAML profiles","set up parallel file copying with FastCopy","FastCopy CLI commands and options","automate file transfers with FastCopy","verify file integrity during FastCopy transfers","create FastCopy transfer profiles","optimize FastCopy performance settings"] |
Skill by ara.so — Devtools Skills collection.
FastCopy is a high-performance file duplication and transfer utility that supports multi-threaded copying, integrity verification, profile-based automation, and cross-platform operation. It's designed for scenarios requiring fast, reliable bulk file transfers, backups, migrations, and synchronization.
Key capabilities:
# Download from official source or repository
# Extract to desired location
# Add to PATH for CLI access
# Install via package manager or direct download
# Make executable
chmod +x fastcopy
sudo mv fastcopy /usr/local/bin/
# Ubuntu/Debian
sudo apt-get install fastcopy
# Fedora
sudo dnf install fastcopy
# Arch
yay -S fastcopy
# Simple copy with default settings
fastcopy /source/path /destination/path
# Copy with specific number of streams
fastcopy /source /dest --streams 32
# Copy with integrity verification
fastcopy /source /dest --verify
# High priority transfer with debug logging
fastcopy /source /dest --priority high --log-level debug
# Disable verification for speed
fastcopy large_file.iso /backups/ --no-verify
# Add metadata tag
fastcopy /source /dest --tag "backup_2026_07_15"
# Use predefined profile
fastcopy --profile /path/to/profile.yaml
# Override profile settings
fastcopy --profile profile.yaml --streams 64
# List available profiles
fastcopy --list-profiles
# Validate profile without executing
fastcopy --profile profile.yaml --dry-run
# Resume interrupted transfer
fastcopy /source /dest --resume
# Watch mode for continuous sync
fastcopy /source /dest --watch --interval 300
# Exclude patterns
fastcopy /source /dest --exclude "*.tmp,*.log"
# Include only specific patterns
fastcopy /source /dest --include "*.mp4,*.mov"
# Copy with bandwidth limit (MB/s)
fastcopy /source /dest --limit 100
# Generate transfer report
fastcopy /source /dest --report /path/to/report.json
Create a profile file (e.g., production-backup.yaml):
# Production backup profile
transfer:
mode: "turbo" # standard, balanced, turbo
streams: 48 # concurrent streams (1-64)
buffer_size_mb: 256 # buffer per stream
verify: true # enable integrity checks
resume: always # always, on_failure, never
retry_count: 5
retry_backoff_seconds: 30
paths:
source: "/mnt/production/data"
destination: "/mnt/backup/daily"
filters:
include:
- "*.sql"
- "*.bak"
- "*.json"
exclude:
- "*.tmp"
- "*.cache"
- ".git/*"
schedule:
type: "cron" # one_time, watch, cron
cron_expression: "0 2 * * *" # daily at 2 AM
performance:
priority: "high" # low, normal, high, realtime
use_cache: true
prefetch: true
compression: false # compress during transfer
logging:
level: "info" # debug, info, warn, error
file: "/var/log/fastcopy/production-backup.log"
rotate: true
max_size_mb: 100
hooks:
on_start: "/opt/scripts/notify_start.sh"
on_complete: "/opt/scripts/notify_complete.sh {bytes} {duration}"
on_error: "/opt/scripts/alert_error.sh {error}"
on_retry: "echo 'Retrying transfer...'"
notifications:
email:
enabled: true
smtp_server: "smtp.company.com"
from: "fastcopy@company.com"
to: ["admin@company.com"]
on_events: ["complete", "error"]
transfer:
mode: "balanced"
streams: 16
verify: true
paths:
source: "/source/folder"
destination: "/backup/folder"
transfer:
mode: "standard"
streams: 8
verify: true
resume: on_failure
paths:
source: "/home/user/Documents"
destination: "/mnt/nas/Documents"
schedule:
type: "watch"
interval_seconds: 600 # check every 10 minutes
filters:
exclude:
- ".DS_Store"
- "Thumbs.db"
- "*.swp"
# Profile: media-migration.yaml
transfer:
mode: "turbo"
streams: 64
buffer_size_mb: 512
verify: true
resume: always
paths:
source: "/mnt/old-storage/media"
destination: "/mnt/new-storage/media"
filters:
include:
- "*.mp4"
- "*.mov"
- "*.mkv"
- "*.avi"
performance:
priority: "high"
use_cache: true
prefetch: true
logging:
level: "info"
file: "/var/log/fastcopy/media-migration.log"
hooks:
on_complete: "notify-send 'Media migration complete'"
fastcopy --profile media-migration.yaml
# Profile: db-backup.yaml
transfer:
mode: "balanced"
streams: 16
buffer_size_mb: 128
verify: true
resume: always
paths:
source: "/var/lib/postgresql/backups"
destination: "//nas.company.local/db-backups"
schedule:
type: "cron"
cron_expression: "0 3 * * *"
hooks:
on_start: "pg_dump -U postgres mydb > /var/lib/postgresql/backups/mydb_$(date +%Y%m%d).sql"
on_complete: "find /var/lib/postgresql/backups -mtime +7 -delete"
on_error: "curl -X POST https://hooks.slack.com/services/$SLACK_WEBHOOK -d '{\"text\":\"DB backup failed\"}'"
// Node.js wrapper for FastCopy
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');
class FastCopySync {
constructor(profilePath) {
this.profilePath = profilePath;
}
sync(options = {}) {
const args = ['fastcopy', '--profile', this.profilePath];
if (options.streams) args.push('--streams', options.streams);
if (options.priority) args.push('--priority', options.priority);
if (options.dryRun) args.push('--dry-run');
const cmd = args.join(' ');
console.log(`Executing: ${cmd}`);
try {
const output = execSync(cmd, { encoding: 'utf8' });
console.log(output);
return { success: true, output };
} catch (error) {
console.error('FastCopy failed:', error.message);
return { success: false, error: error.message };
}
}
createProfile(source, destination, config = {}) {
const profile = {
transfer: {
mode: config.mode || 'balanced',
streams: config.streams || 16,
verify: config.verify !== false,
resume: config.resume || 'on_failure'
},
paths: { source, destination },
filters: config.filters || {},
hooks: config.hooks || {}
};
const profilePath = path.join(process.cwd(), 'fastcopy-profile.yaml');
fs.writeFileSync(profilePath, JSON.stringify(profile, null, 2));
return profilePath;
}
}
// Usage
const syncer = new FastCopySync('/config/dev-sync.yaml');
syncer.sync({ priority: 'normal' });
#!/usr/bin/env python3
import subprocess
import yaml
import os
from datetime import datetime
class FastCopyManager:
def __init__(self, profile_path=None):
self.profile_path = profile_path
def execute(self, source=None, destination=None, **kwargs):
"""Execute FastCopy with optional parameters"""
cmd = ['fastcopy']
if self.profile_path:
cmd.extend(['--profile', self.profile_path])
elif source and destination:
cmd.extend([source, destination])
else:
raise ValueError("Must provide profile or source/destination")
# Add optional arguments
if kwargs.get('streams'):
cmd.extend(['--streams', str(kwargs['streams'])])
if kwargs.get('verify'):
cmd.append('--verify')
if kwargs.get('priority'):
cmd.extend(['--priority', kwargs['priority']])
if kwargs.get('tag'):
cmd.extend(['--tag', kwargs['tag']])
print(f"Executing: {' '.join(cmd)}")
try:
result = subprocess.run(cmd, capture_output=True, text=True, check=True)
return {'success': True, 'output': result.stdout}
except subprocess.CalledProcessError as e:
return {'success': False, 'error': e.stderr}
def create_profile(self, source, destination, **config):
"""Generate YAML profile programmatically"""
profile = {
'transfer': {
'mode': config.get('mode', 'balanced'),
'streams': config.get('streams', 16),
'verify': config.get('verify', True),
'resume': config.get('resume', 'on_failure')
},
'paths': {
'source': source,
'destination': destination
}
}
if 'filters' in config:
profile['filters'] = config['filters']
if 'hooks' in config:
profile['hooks'] = config['hooks']
profile_path = f'/tmp/fastcopy_profile_{datetime.now().strftime("%Y%m%d_%H%M%S")}.yaml'
with open(profile_path, 'w') as f:
yaml.dump(profile, f, default_flow_style=False)
return profile_path
# Usage example
if __name__ == '__main__':
manager = FastCopyManager()
# Create dynamic profile
profile = manager.create_profile(
'/data/source',
'/backup/destination',
mode='turbo',
streams=32,
verify=True,
filters={'exclude': ['*.tmp', '*.log']},
hooks={'on_complete': 'echo "Backup complete"'}
)
# Execute transfer
result = manager.execute(profile_path=profile)
print(result)
FastCopy supports environment variable configuration:
# Set default profile directory
export FASTCOPY_PROFILE_DIR="/etc/fastcopy/profiles"
# Default log level
export FASTCOPY_LOG_LEVEL="info"
# Default stream count
export FASTCOPY_STREAMS=32
# Notification endpoints
export FASTCOPY_WEBHOOK_URL="https://hooks.slack.com/services/YOUR_WEBHOOK"
export SMTP_SERVER="smtp.company.com"
export SMTP_FROM="fastcopy@company.com"
export SMTP_TO="admin@company.com"
# API integration keys (if using AI features)
export OPENAI_API_KEY="your-key-here"
export ANTHROPIC_API_KEY="your-key-here"
# Enable auto-resume
fastcopy /source /dest --resume always --retry-count 10
# Check logs for specific error
fastcopy /source /dest --log-level debug --log-file /tmp/fastcopy.log
# Adjust profile for better performance
transfer:
mode: "turbo"
streams: 48 # increase for network transfers
buffer_size_mb: 512 # increase for large files
performance:
priority: "high"
use_cache: true
prefetch: true # enable predictive caching
# Run with elevated privileges
sudo fastcopy /source /dest
# Or fix ownership/permissions
sudo chown -R $USER:$USER /destination
chmod -R u+rw /destination
# Force re-verification
fastcopy /source /dest --verify --force
# Use specific checksum algorithm
fastcopy /source /dest --checksum sha256
# Skip verification for speed (use cautiously)
fastcopy /source /dest --no-verify
# Validate YAML syntax
fastcopy --profile profile.yaml --validate
# Dry run to test without copying
fastcopy --profile profile.yaml --dry-run
# Check profile defaults
fastcopy --show-defaults
# Add retry logic and bandwidth limiting
transfer:
retry_count: 10
retry_backoff_seconds: 60
timeout_seconds: 300
performance:
bandwidth_limit_mbps: 100 # prevent saturation
tcp_window_size_kb: 256 # adjust for WAN
verify: true for important data--log-level info and check logsresume: always--tag for tracking and auditingOrchestrate psychology clinic workflows with AI-powered scheduling, WhatsApp automation, AFIP billing, and video consultations for Argentine practitioners
SaaS platform for psychology clinics with intelligent scheduling, WhatsApp automation, AFIP billing, videollamadas, and Claude AI integration
Build and customize the Sesión mental health practice management platform with appointment scheduling, WhatsApp automation, AFIP billing, and Claude AI integration
Orchestrate psychology clinic operations with AI-powered scheduling, WhatsApp automation, AFIP billing, and secure video consultations for Argentine mental health practitioners
Connect AI agents to a running Tabbit browser instance via Chrome DevTools Protocol (CDP) and control it through agent-browser
AI-powered mental health practice management platform for Argentina with WhatsApp automation, AFIP-compliant invoicing, and video consultations