Perlindungan pembayaranSelengkapnya
- Revisi dalam batas paket tidak dikenai biaya.
- Jika Anda tidak merespons dalam 3 hari setelah penyerahan hasil, hasil kerja diterima secara otomatis.
Uang ditahan saat Anda membayar dan diteruskan hanya setelah Anda menerima hasil kerja.

Contoh hasil
Menggabungkan file penjualan bulanan 9 toko menjadi satu laporan Excel
Cara menjalankannya
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, ditemukan 9 file
2026-11-02 09:14:03 INFO shop-01.csv: 1.284 baris
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 baris
2026-11-02 09:14:04 WARN shop-07.csv: 3 baris tanpa harga dilewati (baris 88, 412, 913)
2026-11-02 09:14:05 INFO Selesai: 10.412 baris -> report-2026-10.xlsx (sheet "Penjualan" dan "Total")
Pengaturan, bukan kode
Nama kolom setiap toko disimpan di settings.ini, jadi toko baru atau kolom yang berganti nama cukup ditambahkan satu baris di sana:
[columns]
date = Tanggal, Tanggal penjualan, Hari
product = Produk, Barang, Nama
quantity = Qty, Jumlah, Pcs
price = Harga, Harga satuan
Sebagian kode
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Membaca file satu toko dan memberinya nama kolom laporan."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: tidak ada kolom untuk '{name}' (dicari: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
File: arsip ZIP berisi merge_sales.py (310 baris), settings.ini, requirements.txt, dan README tentang cara memasang Python, menjalankan skrip, dan arti setiap pesan di log. Klien menjalankannya di komputernya sendiri.
Klien: jaringan kecil 9 toko alat tulis; setiap toko mengirim penjualan bulanannya sebagai file CSV atau Excel, dengan nama kolom yang sedikit berbeda. Tugas: satu skrip yang membaca setiap file di sebuah folder, menyeragamkan kolomnya, dan menulis satu laporan Excel berisi semua penjualan serta sheet total per toko.
Klien dan semua datanya fiktif.
Tentang layanan ini
Database tanpa salinan rutin hanya berjarak satu pembaruan yang gagal atau disk yang penuh dari kehilangan pesanan, postingan, atau data pelanggan. Skrip ini, dalam Bash atau Python sesuai server Anda, membuat dump lengkap database MySQL, MariaDB, atau PostgreSQL Anda dengan alat bawaannya (mysqldump atau pg_dump), mengompresnya, menamainya dengan tanggal, dan hanya menyimpan salinan sesuai aturan Anda, misalnya 7 harian, 4 mingguan, dan 6 bulanan; salinan lama hanya dihapus berdasarkan aturan itu. Kata sandi database dimasukkan ke file opsi standar yang Anda isi di server Anda (.my.cnf atau .pgpass), tidak pernah ke dalam kode. Anda memasang dan menjalankannya di server Anda sendiri; kami tidak pernah masuk ke server itu. Coba dulu di salinan uji, dan pulihkan satu backup ke database uji untuk memastikan semuanya berfungsi.
Yang termasuk
- Yang Anda dapatkanArsip ZIP berisi skrip, README dengan petunjuk langkah demi langkah, dan mulai Standar, file pengaturan dengan database, folder, dan jumlah salinan yang disimpan; kodenya juga ditampilkan di halaman pesanan.
- Alat standarmysqldump atau pg_dump, tidak ada yang aneh untuk dipasang
- Rotasi sesuai aturan AndaSalinan lama dihapus hanya sesuai pengaturan Anda
- Kata sandi tidak ada di kodeDi .my.cnf atau .pgpass di server Anda
- Kegagalan terdeteksiMulai Standar, dump yang gagal atau kosong dicatat di log dan tidak dihitung sebagai salinan
- Kode yang mudah dibacaDengan komentar, mudah menambah database nanti
Cara kerja
- 1TugasAnda menjelaskan server, database, dan berapa banyak salinan yang disimpan
- 2KodeKami menulis skrip dan panduan memasangnya
- 3CobaAnda menjalankannya di salinan uji dan memulihkan satu backup ke database uji
- 4RevisiAnda meminta revisi sesuai paket dan mengirim pesan error jika ada
Yang kami butuhkan dari Anda
Database-nya (MySQL, MariaDB, atau PostgreSQL) dan versinya, sistem server (misalnya Ubuntu 22.04) dan apakah Anda bisa memasang paket di sana, seberapa besar database-nya, di mana salinan disimpan dan berapa ruang yang tersedia. Aturan rotasi Anda: berapa salinan harian, mingguan, dan bulanan yang disimpan. Untuk Premium, tempat kedua untuk salinan dan alamat email untuk pemberitahuan kegagalan. Jangan pernah mengirim kata sandi atau akses server.
Kami akan menanyakan:
- Database apa, dan seberapa besar?
- Di server apa database itu berada?
- Berapa salinan yang disimpan?
- Di mana salinan disimpan?
- Bash atau Python?
Bandingkan paket
| Paket | DasarSatu databaseRp 272.000 | StandarBackup dengan pengaturanRp 561.000 | PremiumAlat backupRp 1.139.000 |
|---|---|---|---|
| Tenggat | 1 hari | 2 hari | 3 hari |
| Revisi | 1 | 2 | 3 |
| Kode | hingga 150 baris | hingga 400 baris | hingga 1.000 baris |
| File kode | 1 | hingga 3 | hingga 8 |
| File pengaturan | Tidak | Ya | Ya |
| Pesan error yang jelas dan log | Tidak | Ya | Ya |
| Opsi menjalankan dan panduan menjalankannya terjadwal | Tidak | Tidak | Ya |
| Panduan instalasi dan menjalankan (README) | Ya | Ya | Ya |
| Bahasa | Bash atau Python | Bash atau Python | Bash atau Python |
| Pesan Dasar | Pesan Standar | Pesan Premium |
Perlindungan pembayaran
Anda membayar saat memesan, tetapi uangnya diteruskan hanya untuk hasil kerja yang diterima.
- Harga pastiHarga paket tidak berubah setelah Anda membayar.
- Uang ditahanSaat Anda membayar, jumlahnya hanya ditahan. Dana diteruskan ke Dleex setelah Anda menerima hasil kerja.
- Diperiksa sebelum penyerahanSetiap hasil melewati pemeriksaan kualitas sebelum sampai kepada Anda, dan Anda dapat melihatnya di halaman pesanan sebelum menerimanya.
- Revisi gratisMinta revisi sesuai brief Anda sebanyak yang diizinkan paket.
- Diterima setelah 3 hariJika dalam 3 hari setelah penyerahan hasil Anda tidak menerima hasil kerja maupun meminta revisi, hasil kerja diterima secara otomatis. Jika Anda menulis di chat pesanan setelah penyerahan hasil, pesanan akan menunggu; setelah kami menjawab, kami dapat memulai ulang hitungan 3 hari dan akan memberitahukannya di chat.
- Dikerjakan ulang atau pengembalian dana penuhJika hasilnya tidak sesuai brief Anda dan revisi tidak memperbaikinya, atau pengerjaan memakan waktu lebih dari dua kali tenggatnya, tulis di chat pesanan: kami akan mengerjakan ulang atau mengembalikan pembayaran secara penuh.
Tanya jawab
Apakah skrip akan menghapus backup lama?
Hanya sesuai aturan yang Anda berikan, misalnya menyimpan 7 salinan harian dan 4 mingguan, dan hanya di folder backup tempat skrip menulis. Sampai Anda menetapkan aturannya, skrip menyimpan semuanya.
Bisakah saya menyimpan salinan di luar server?
Premium menyalin setiap backup ke disk kedua atau ke penyimpanan yang sudah Anda miliki, memakai alat command-line milik penyimpanan itu dan kunci Anda sendiri, yang Anda masukkan sendiri ke pengaturannya.
Apakah situs terkunci selama skrip berjalan?
Untuk tabel InnoDB di MySQL dan untuk PostgreSQL, dump diambil tanpa menghentikan situs. Database yang sangat besar tetap bisa memperlambatnya, jadi jalankan di jam sepi.
Apakah Anda akan memasangnya di server saya?
Tidak. Kami tidak pernah masuk ke server Anda. README menunjukkan setiap langkah, dari menyalin skrip hingga menambahkannya ke cron (Premium).
Tidak menemukan jawabannya?