How to pass arguments in cron job function
Per the docs for wp_schedule_event, the fourth parameter, which you are 't currently using, is $args

Array containing arguments to pass to the hook's callback function. Each value in the array is passed to the callback as an individual parameter.
The array keys are ignored.
Default: array()

This means you should be able to use:
if (!empty($_POST) && ($_POST['btnaup']) && !wp_next_scheduled('update_post')) {
    $data = [
        $_POST['id'],
    ];

    wp_schedule_event(time(), 'one_minute', 'update_post', $data);
}

Your update_my_post function should just work then.

Im totaly new in wordpress php and cron. So, I have a task. I need to take data from a form and put it into a cron function.
This is me code. I created custom plugin page in wordpress admin panel and try to run this code.
actually the code works if I enter a article id instead of a variable $post_id;

function cron_add_one_minute( $schedules ) {
    $schedules['one_minute'] = array(
        'interval' => 60,
        'display'  => 'One in minute'
    );
    return $schedules;
};
    if(!empty($_POST) && ($_POST['btnaup']) && !wp_next_scheduled( 'update_post' )) {
        wp_schedule_event( time(), 'one_minute', 'update_post');
    }

    if(isset( $_POST['btnaup'])) {
        $post_id = $_POST['id'];
        $b = $_POST['days'];
    }

add_action( 'update_post', 'update_my_post', 10, 1);

function update_my_post( $post_id ){
        $time = current_time('mysql');
 
        wp_update_post( array (
            'ID'            => $post_id, 
            'post_date'     => $time,
            'post_date_gmt' => get_gmt_from_date( $time ),
            'post_modified' => $time,
            'post_modified_gmt' => get_gmt_from_date($time),
        )  );
}



