From 307a373667deea0c6aa20b0a9ec05fdbdcf6eca4 Mon Sep 17 00:00:00 2001 From: sebseb7 Date: Tue, 16 Sep 2025 09:05:51 +0200 Subject: [PATCH] u --- index.js | 3 ++- test-scp.js | 72 ----------------------------------------------------- 2 files changed, 2 insertions(+), 73 deletions(-) delete mode 100644 test-scp.js diff --git a/index.js b/index.js index 3027614..6edac6a 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,7 @@ const sql = require('mssql'); const { S3Client, PutObjectCommand, ListObjectsV2Command } = require('@aws-sdk/client-s3'); const fs = require('fs'); const path = require('path'); +const os = require('os'); const zlib = require('zlib'); const { pipeline } = require('stream/promises'); const SambaClient = require('samba-client'); @@ -42,7 +43,7 @@ const scpConfig = { host: process.env.SCP_HOST, port: parseInt(process.env.SCP_PORT) || 22, username: process.env.SCP_USERNAME, - privateKey: fs.readFileSync(require('path').resolve(process.env.SCP_KEY_PATH)) + privateKey: fs.readFileSync(path.resolve(process.env.SCP_KEY_PATH.replace(/^~/, os.homedir()))) }; // Legacy SMB Configuration (deprecated) diff --git a/test-scp.js b/test-scp.js deleted file mode 100644 index 04d9ad5..0000000 --- a/test-scp.js +++ /dev/null @@ -1,72 +0,0 @@ -require('dotenv').config(); -const { Client } = require('ssh2'); - -// Test SCP connection -async function testSCPConnection() { - const config = { - host: process.env.SCP_HOST, - port: parseInt(process.env.SCP_PORT) || 22, - username: process.env.SCP_USERNAME, - privateKey: require('fs').readFileSync(require('path').resolve(process.env.SCP_KEY_PATH)) - }; - - console.log('Testing SCP connection...'); - console.log(`Host: ${config.host}`); - console.log(`Port: ${config.port}`); - console.log(`Username: ${config.username}`); - - const conn = new Client(); - - return new Promise((resolve, reject) => { - conn.on('ready', () => { - console.log('✅ SSH connection successful!'); - console.log('Now testing SCP download...'); - - conn.sftp((err, sftp) => { - if (err) { - console.error('❌ SFTP error:', err.message); - conn.end(); - reject(err); - return; - } - - const remotePath = process.env.SCP_REMOTE_PATH || '/sharemnt/ez.bak'; - console.log(`Checking remote file: ${remotePath}`); - - sftp.stat(remotePath, (err, stats) => { - if (err) { - console.error('❌ Cannot access remote file:', err.message); - conn.end(); - reject(err); - } else { - console.log('✅ Remote file found!'); - console.log(`File size: ${(stats.size / 1024 / 1024).toFixed(2)} MB`); - console.log(`Modified: ${stats.mtime}`); - conn.end(); - resolve(); - } - }); - }); - }); - - conn.on('error', (err) => { - console.error('❌ SSH connection failed:', err.message); - console.error('Error details:', err); - reject(err); - }); - - conn.connect(config); - }); -} - -// Run test -testSCPConnection() - .then(() => { - console.log('\n🎉 SCP test completed successfully!'); - console.log('You can now use: node backup.js'); - }) - .catch((err) => { - console.error('\n💥 SCP test failed!'); - console.error('Please check your SSH configuration.'); - process.exit(1); - });