# Configuration Section: Task Configuration

+ **`output-dir:`** Directory stores the comparing result
+ **`source-instances:`** Upstream data sources declared in `Datasource Config`
+ **`target-instance:`** Downstream data sources declared in `Datasource Config`
+ **`target-check-tables:`** `golang` regular expressions for matching tables in the downstream databases to be compared 
+ **`target-configs:`** Extra configurations for certain tables, named configuration is declared in `Table Config` section

```
######################### ~!@Task config@!~ #########################

[task]
    output-dir = "./output"
    source-instances = ["mysql1"]
    target-instance = "tidb0"
    target-check-tables = ["test.*"]
    target-configs = ["config1"]
```

-------------------------------------------------------------
`Task configuration` sample:
```
######################### task config #########################
# Configures the tables of the target database that need to be compared.
[task]
    # output-dir saves the following information:
    # 1 sql: The SQL file to fix tables that is generated after error is detected. One chunk corresponds to one SQL file.
    # 2 log: sync-diff.log
    # 3 summary: summary.txt
    # 4 checkpoint: a dir
    output-dir = "./output"
    # The upstream database. The value is the unique ID declared by data-sources.
    source-instances = ["mysql1"]
    # The downstream database. The value is the unique ID declared by data-sources.
    target-instance = "tidb0"
    # The tables of downstream databases to be compared. Each table needs to contain the schema name and the table name, separated by '.'
    # Use "?" to match any character and "*" to match characters of any length.
    # For detailed match rules, refer to golang regexp pkg: https://github.com/google/re2/wiki/Syntax.
    target-check-tables = ["schema*.table*", "!c.*", "test2.t2"]
    # (optional) Extra configurations for some tables, Config1 is defined in the following table config example.
    target-configs = ["config1"]
```